time="2025-03-24T16:01:15Z" 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-federation-1 Creating Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-experiment-1 Creating Container integration-test-gateway-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-device-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 authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} federation-1 | {"level":"info","message":"Federation Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-03-24T16:02:14Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:42046","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-03-24T16:02:14Z"} authorization-1 | {"client_addr":"127.0.0.1:42046","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.259984,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1742832134.7304835} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1742832134.7305608} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1742832134.730571} 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":1742832134.7305837} 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":1742832134.7305946} 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":1742832134.730625,"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":1742832134.7311437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1742832134.7321508} 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:44148","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-03-24T16:02:14.744758849Z","id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","name":"crosslab","updated_at":"2025-03-24T16:02:14.744758849Z"},"request_id":"bf1ccc46-1493-4871-8b32-5ffa9dd40156","subsystem":"openfga","timestamp":1742832134.7448504} 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:44148","raw_request":{"schema_version":"1.1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JQ4E7TN2FWP8Z1TSCMND61AY"},"request_id":"35f5447b-6526-45e3-89fe-b82e1873ce53","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832134.8186696} authorization-1 | {"client_addr":"127.0.0.1:42046","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-03-24T16:02:14Z"} authorization-1 | {"client_addr":"127.0.0.1:42046","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.169089,"resp_status":204,"subsystem":"opa","time":"2025-03-24T16:02:14Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.2.0/opa_linux_amd64","latest_version":"1.2.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.2.0","subsystem":"opa","time":"2025-03-24T16:02:14Z"} gateway-1 | {"time_local":"24/Mar/2025:16:02:27 +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.030","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ca3f623934cd8f2de649c1fc2827e570"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 27ms","method":"HEAD","requestID":"ca3f623934cd8f2de649c1fc2827e570","responseTime":27,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"24/Mar/2025:16:02:27 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6a74cf89ac16613620fe0cf1123c9b65"} device-1 | {"level":"info","message":"HEAD /device/status 200 31ms","method":"HEAD","requestID":"622c1430-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"24/Mar/2025:16:02:27 +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.007","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"70c876010f115d5359be5912de55fc0f"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","method":"HEAD","requestID":"70c876010f115d5359be5912de55fc0f","responseTime":4,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"24/Mar/2025:16:02:27 +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.034","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b7c054e5b9437ee52da35a7f0e45cbf1"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 6ms","method":"HEAD","requestID":"6237fb10-08c9-11f0-ac73-61b2dd187aa3","responseTime":6,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"24/Mar/2025:16:02:27 +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":"6b184306857b60ce297aac8f5e34c651"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 8ms","method":"HEAD","requestID":"623aba30-08c9-11f0-b868-cff861ec10ea","responseTime":8,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"24/Mar/2025:16:02:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"157320b3b236b14fa56d7ba3b06172c3"} authentication-1 | {"level":"info","message":"POST /login 201 134ms","method":"POST","requestID":"157320b3b236b14fa56d7ba3b06172c3","responseTime":134,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1NH0.nkbgEKr-7g1xQTWiIHErPLx-LzES33lMo6RZsK0cMts","level":"info","message":"auth send jwt","requestID":"0ce9dfd94ce7865a1935225757a42661"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":44,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ce9dfd94ce7865a1935225757a42661"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.723999,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0ce9dfd94ce7865a1935225757a42661","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832154,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1NH0.nkbgEKr-7g1xQTWiIHErPLx-LzES33lMo6RZsK0cMts"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":28,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3a23e57-48a2-46b7-875a-d05c8538d0d3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.4969907} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":30,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d52687a5-d3e8-4138-924e-e486d660a938","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.5094526} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"5480c099-2868-4763-b5c4-44b89dd8c72a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.5478795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23081ee6-19fa-4978-9d3a-89bb9210dff7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.5490248} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":42,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.547854177Z"}]},"request_id":"9fde6162-0c17-4c1c-a4d5-49b358a58334","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.5564744} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ce9dfd94ce7865a1935225757a42661"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ce9dfd94ce7865a1935225757a42661"} device-1 | {"level":"info","message":"POST /devices? 201 225ms","method":"POST","requestID":"0ce9dfd94ce7865a1935225757a42661","responseTime":225,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1NH0.nkbgEKr-7g1xQTWiIHErPLx-LzES33lMo6RZsK0cMts","level":"info","message":"auth send jwt","requestID":"b54b961930de32b26977df414c4d013e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b54b961930de32b26977df414c4d013e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b54b961930de32b26977df414c4d013e"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:34Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730708,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b54b961930de32b26977df414c4d013e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832154,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1NH0.nkbgEKr-7g1xQTWiIHErPLx-LzES33lMo6RZsK0cMts"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aae2df28-84a9-4adf-90a7-6644182566fb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.6621647} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f101ceaa-46db-41e5-ab11-d3a5dad5bb16","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.6950262} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"2f474614-b1e6-4351-8283-04a5eb25c2e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.7080576} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c06992a-9f6e-4fa0-a2b2-47722856d051","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.7083886} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.708047657Z"}]},"request_id":"c1ddaa0f-1349-4b4a-8476-6477a8c8056d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832154.7146301} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b54b961930de32b26977df414c4d013e"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.135","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b54b961930de32b26977df414c4d013e"} device-1 | {"level":"info","message":"POST /devices? 201 128ms","method":"POST","requestID":"b54b961930de32b26977df414c4d013e","responseTime":128,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"211947d2194bbe86a70920d99cceef9b","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":"211947d2194bbe86a70920d99cceef9b","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c137db0f0d56f310ae7cb3aa554b1fec","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":"c137db0f0d56f310ae7cb3aa554b1fec","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/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":"211947d2194bbe86a70920d99cceef9b"} device-1 | {"level":"info","message":"OPTIONS /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/websocket 200 1ms","method":"OPTIONS","requestID":"211947d2194bbe86a70920d99cceef9b","responseTime":1,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.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":"c137db0f0d56f310ae7cb3aa554b1fec"} device-1 | {"level":"info","message":"OPTIONS /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/websocket 200 1ms","method":"OPTIONS","requestID":"c137db0f0d56f310ae7cb3aa554b1fec","responseTime":1,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI","level":"info","message":"auth send jwt","requestID":"3b49ce98354733f987052f24ab38e5b5"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"3b49ce98354733f987052f24ab38e5b5","responseTime":11,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI","level":"info","message":"auth send jwt","requestID":"3b6aa1f05ffd639333c1d3db83cfc787"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b49ce98354733f987052f24ab38e5b5"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"3b6aa1f05ffd639333c1d3db83cfc787","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b6aa1f05ffd639333c1d3db83cfc787"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808787,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3b49ce98354733f987052f24ab38e5b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b49ce98354733f987052f24ab38e5b5","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239481,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3b6aa1f05ffd639333c1d3db83cfc787","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3b6aa1f05ffd639333c1d3db83cfc787","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b6aa1f05ffd639333c1d3db83cfc787"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/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":"3b6aa1f05ffd639333c1d3db83cfc787"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/websocket 200 34ms","method":"POST","requestID":"3b6aa1f05ffd639333c1d3db83cfc787","responseTime":34,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b49ce98354733f987052f24ab38e5b5"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","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":"3b49ce98354733f987052f24ab38e5b5"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/websocket 200 40ms","method":"POST","requestID":"3b49ce98354733f987052f24ab38e5b5","responseTime":40,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI","level":"info","message":"auth send jwt","requestID":"1d66864b3cf5ab4020d166c19adb92a4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d66864b3cf5ab4020d166c19adb92a4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d66864b3cf5ab4020d166c19adb92a4"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723573,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1d66864b3cf5ab4020d166c19adb92a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d66864b3cf5ab4020d166c19adb92a4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.547854177Z"}]},"request_id":"2f27bb4e-6230-483a-908e-0abb679a8ba1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832157.8062441} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d66864b3cf5ab4020d166c19adb92a4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d66864b3cf5ab4020d166c19adb92a4"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? 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":"1d66864b3cf5ab4020d166c19adb92a4"} device-1 | {"level":"info","message":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? 200 19ms","method":"GET","requestID":"1d66864b3cf5ab4020d166c19adb92a4","responseTime":19,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI","level":"info","message":"auth send jwt","requestID":"ca5209118274c2925ea772a2c85729a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ca5209118274c2925ea772a2c85729a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ca5209118274c2925ea772a2c85729a7"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70215,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ca5209118274c2925ea772a2c85729a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca5209118274c2925ea772a2c85729a7","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.708047657Z"}]},"request_id":"23d139b1-0c53-4887-b3d8-c98c1e333d53","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832157.8310688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca5209118274c2925ea772a2c85729a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ca5209118274c2925ea772a2c85729a7"} gateway-1 | {"time_local":"24/Mar/2025:16:02:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca5209118274c2925ea772a2c85729a7"} device-1 | {"level":"info","message":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? 200 37ms","method":"GET","requestID":"ca5209118274c2925ea772a2c85729a7","responseTime":37,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI","level":"info","message":"auth send jwt","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50a33a8b0c3a0df09ea7e009f697142f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.008118,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"50a33a8b0c3a0df09ea7e009f697142f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50a33a8b0c3a0df09ea7e009f697142f","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to run experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to book experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully booked experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"685eb010-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895521,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853613,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"685eb010-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"685eb010-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.547854177Z"}]},"request_id":"b5b03c32-62ed-4b37-ad15-d3ae8402f4c9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.1103468} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.708047657Z"}]},"request_id":"3c5eb3a5-f6aa-49a3-9eee-c69c25a8baa8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.1116781} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"685eb010-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? 200 41ms","method":"GET","requestID":"685b7bc0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"685eb010-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? 200 22ms","method":"GET","requestID":"685eb010-08c9-11f0-a656-5b8621d22e82","responseTime":22,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Setting up experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully locked booking for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to update booking for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully updated booking for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully set up experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"68771a10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6236,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66174,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68774120-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully running experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68771a10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"68771a10-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.083316,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b51eddd-6c25-46b9-bd78-0abdf841512f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.2928567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.708047657Z"}]},"request_id":"36ee2ca6-f7f5-4a45-9ae1-4784c8f408db","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.29442} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68774120-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","rebac_allow":false,"scope_allow":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":"68774120-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"68771a10-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.547854177Z"}]},"request_id":"6384066a-379a-4ac2-b05f-745ffb0b61a0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.2960198} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68774120-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling 200 47ms","method":"POST","requestID":"68774120-08c9-11f0-a656-5b8621d22e82","responseTime":47,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"68771a10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? 200 49ms","method":"GET","requestID":"68771a10-08c9-11f0-a656-5b8621d22e82","responseTime":49,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? 200 53ms","method":"GET","requestID":"6876cbf0-08c9-11f0-a656-5b8621d22e82","responseTime":53,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"687f0950-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb18836f-df16-492d-a3bd-fcbbc5dd2c18#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb18836f-df16-492d-a3bd-fcbbc5dd2c18","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"51a17629-d2e9-4679-999c-f45024fa9f83","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.309444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3da7ea7e-1e81-4ff9-a671-581e8c407276","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.310294} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"687ff3b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"50a33a8b0c3a0df09ea7e009f697142f","responseTime":51,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.738664,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3156c186-9f84-4a7b-80e9-57a2bcccc618","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.341869} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"687f0950-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"687f0950-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.68135,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bfcfb12-49c6-4544-9336-7d7468efc097","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.345503} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"687ff3b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","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/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"687ff3b0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"687f0950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling 200 40ms","method":"POST","requestID":"687f0950-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"687ff3b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling 200 37ms","method":"POST","requestID":"687ff3b0-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling"} gateway-1 | {"time_local":"24/Mar/2025:16:02:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.488","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 473ms","method":"POST","requestID":"50a33a8b0c3a0df09ea7e009f697142f","responseTime":473,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68865c50-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY","level":"info","message":"auth send jwt","requestID":"217ef4f4e1c5285ff597b397bfb8a675"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"217ef4f4e1c5285ff597b397bfb8a675","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"217ef4f4e1c5285ff597b397bfb8a675"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c37d454f-05a0-42aa-a44a-cc5b9abaa647","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.3908043} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.708954,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68865c50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"68865c50-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785414,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"217ef4f4e1c5285ff597b397bfb8a675","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832158,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"217ef4f4e1c5285ff597b397bfb8a675","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68865c50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling 200 44ms","method":"POST","requestID":"68865c50-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.547854177Z"}]},"request_id":"f03948a2-079a-4603-87d2-4c81d600e851","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.4029665} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Building connection plan","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a889b5a8-bde6-499b-93c5-fc096b695bef"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ee2c0458-e11c-4b69-a325-ac8906844697"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"473a6d62-cc2f-479c-a81b-bd14e13639bd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"217ef4f4e1c5285ff597b397bfb8a675","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"217ef4f4e1c5285ff597b397bfb8a675"} gateway-1 | {"time_local":"24/Mar/2025:16:02:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"217ef4f4e1c5285ff597b397bfb8a675"} device-1 | {"level":"info","message":"GET /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9? 200 22ms","method":"GET","requestID":"217ef4f4e1c5285ff597b397bfb8a675","responseTime":22,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY","level":"info","message":"auth send jwt","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.65548,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832157,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1N30.knbsrs_hBjCixUhG9ZT5JiUmcULk95fNJgYS2xjEcyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719105,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ba03a8c6d496c87aaa2d6a89274d90f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832158,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:34.708047657Z"}]},"request_id":"00f207a7-0a09-4b6b-b9b7-b89c44cab682","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.4463708} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6"} gateway-1 | {"time_local":"24/Mar/2025:16:02:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6"} device-1 | {"level":"info","message":"GET /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac? 200 14ms","method":"GET","requestID":"ba03a8c6d496c87aaa2d6a89274d90f6","responseTime":14,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"561d4bdd-9b89-4bb0-882f-9b8d79d664e8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.488515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cec00b51-df7b-4966-bfea-9e9664f63385","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.4888985} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869'","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869'","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 121ms","method":"POST","requestID":"688e4b90-08c9-11f0-a656-5b8621d22e82","responseTime":121,"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":"688e4b90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","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 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","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} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"50a33a8b0c3a0df09ea7e009f697142f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68a974b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c93da22-9921-49e9-ac2a-6e55c2eea915","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.5923076} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.384906,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68a974b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","rebac_allow":false,"scope_allow":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":"68a974b0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68a974b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling 200 11ms","method":"POST","requestID":"68a974b0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68af4110-08c9-11f0-a656-5b8621d22e82"} device-1 | {"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} device-1 | {"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2c188e1-c87c-4776-88b1-8b48196ab62d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.6305559} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.651633,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68af4110-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","rebac_allow":false,"scope_allow":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":"68af4110-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68af4110-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling 200 12ms","method":"POST","requestID":"68af4110-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8260688839836689168 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:3irA\r\na=ice-pwd:gSkprDPJ2wBjyOFjsltWXd4A\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DF:C9:54:36:02:E8:4A:FA:1D:23:D9:A5:EF:AC:25:5A:E5:8E:90:AB:60:91:34:EB:4D:37:07:ED:E8:FD:76:E0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4122114675812257269 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:CG86\r\na=ice-pwd:3GNqhMah5EQR6mRyy9Ob75X8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 60:0D:32:85:80:DB:D1:FB:7C:76:8A:3B:37:0A:7D:77:D4:8C:B2:6D:AD:10:1B:78:F2:20:02:3C:75:BD:BB:E8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3508080014 1 udp 2113937151 8af6d2c2-d7d1-4607-bec8-9253f21b24eb.local 60270 typ host generation 0 ufrag CG86 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","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/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9'"} device-1 | {"content":{"candidate":"candidate:1986952921 1 udp 2113937151 a5c148ad-6366-4a31-88b8-26f17a7ad427.local 43202 typ host generation 0 ufrag 3irA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","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/eb51609a-c38d-4514-91a3-abd0e83ae869' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e80ef29c408638d0c4a2f45a150d8b1","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":"9e80ef29c408638d0c4a2f45a150d8b1","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/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"}}},"level":"info","message":"received a callback","requestID":"9e80ef29c408638d0c4a2f45a150d8b1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"9e80ef29c408638d0c4a2f45a150d8b1","responseTime":13,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e80ef29c408638d0c4a2f45a150d8b1"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","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/eb51609a-c38d-4514-91a3-abd0e83ae869' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d2c408924481e0d9af6f5baadede8cf7","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 25ms","method":"GET","requestID":"d2c408924481e0d9af6f5baadede8cf7","responseTime":25,"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/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"}}},"level":"info","message":"received a callback","requestID":"d2c408924481e0d9af6f5baadede8cf7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY","level":"info","message":"auth send jwt","requestID":"093a99f4681913e16a317b3cff7ad768"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"093a99f4681913e16a317b3cff7ad768","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"093a99f4681913e16a317b3cff7ad768"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.676652,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"093a99f4681913e16a317b3cff7ad768","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832158,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"093a99f4681913e16a317b3cff7ad768","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"68ce88e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb51609a-c38d-4514-91a3-abd0e83ae869","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8ab03d5-4210-4f97-bcd0-5715b6fef0e6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.836577} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.239769,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"093a99f4681913e16a317b3cff7ad768"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68ce88e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","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":"68ce88e0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:02:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"093a99f4681913e16a317b3cff7ad768"} experiment-1 | {"level":"info","message":"GET /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 200 16ms","method":"GET","requestID":"093a99f4681913e16a317b3cff7ad768","responseTime":16,"status":200,"url":"/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"68ce88e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869 200 36ms","method":"GET","requestID":"68ce88e0-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 67ms","method":"POST","requestID":"d2c408924481e0d9af6f5baadede8cf7","responseTime":67,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.094","http_referrer":"","http_user_agent":"node-fetch","requestID":"d2c408924481e0d9af6f5baadede8cf7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68d73b70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b3d1450-fba8-4280-aafe-60bdd45a63d9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.9158518} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.498989,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68d73b70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"68d73b70-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68d73b70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling 200 33ms","method":"POST","requestID":"68d73b70-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68dc92a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bc5c540-c56a-44f9-9bc0-6b0c2464b709","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832158.9266021} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341934,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68dc92a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","rebac_allow":false,"scope_allow":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":"68dc92a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68dc92a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling 200 9ms","method":"POST","requestID":"68dc92a0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY","level":"info","message":"auth send jwt","requestID":"27fcd76ebe964638966beff0a1cc0c8a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27fcd76ebe964638966beff0a1cc0c8a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"27fcd76ebe964638966beff0a1cc0c8a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.758378,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"27fcd76ebe964638966beff0a1cc0c8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832158,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OH0.E2hdfkwomDd2VjEb9n0nsIoD7Jfg_0zDsaklGtOUvXY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"27fcd76ebe964638966beff0a1cc0c8a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"27fcd76ebe964638966beff0a1cc0c8a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27fcd76ebe964638966beff0a1cc0c8a"} experiment-1 | {"level":"info","message":"GET /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 200 38ms","method":"GET","requestID":"27fcd76ebe964638966beff0a1cc0c8a","responseTime":38,"status":200,"url":"/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OX0.cz3CtcWvFVmMXPv1quLaBNv8-cLAv4ywUPssZKL9ctk","level":"info","message":"auth send jwt","requestID":"5f4ffeee1f0474421270f9388a3b503f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f4ffeee1f0474421270f9388a3b503f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"5f4ffeee1f0474421270f9388a3b503f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.847521,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5f4ffeee1f0474421270f9388a3b503f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832159,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OX0.cz3CtcWvFVmMXPv1quLaBNv8-cLAv4ywUPssZKL9ctk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5f4ffeee1f0474421270f9388a3b503f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Attempting to finish experiment","requestID":"5f4ffeee1f0474421270f9388a3b503f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.986878,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832159,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE1OX0.cz3CtcWvFVmMXPv1quLaBNv8-cLAv4ywUPssZKL9ctk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","device":"5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869","device":"ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","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/eb51609a-c38d-4514-91a3-abd0e83ae869' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3818196b262f36f98c9eb12e63c678a2","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":"3818196b262f36f98c9eb12e63c678a2","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b454da3ee607b4d891c9f3000835c60a","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/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"}}},"level":"info","message":"received a callback","requestID":"3818196b262f36f98c9eb12e63c678a2"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b454da3ee607b4d891c9f3000835c60a","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/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"}}},"level":"info","message":"received a callback","requestID":"b454da3ee607b4d891c9f3000835c60a"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb51609a-c38d-4514-91a3-abd0e83ae869': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb51609a-c38d-4514-91a3-abd0e83ae869","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"69fba4e9-3236-4f9c-a778-0c31395edd60","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.1117315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c641ba29-d518-4049-8d16-2f87b3a44e65","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.1119049} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"eb51609a-c38d-4514-91a3-abd0e83ae869","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869 204 420ms","method":"DELETE","requestID":"68edd0b0-08c9-11f0-a656-5b8621d22e82","responseTime":420,"status":204,"url":"/peerconnections/eb51609a-c38d-4514-91a3-abd0e83ae869"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"},"level":"info","message":"Successfully finished experiment","requestID":"5f4ffeee1f0474421270f9388a3b503f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69436ac0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f5ee09e-3b73-44ad-9b62-dd03a2174388","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.6106155} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.082761,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"69436ac0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9","object_type":"device","rebac_allow":false,"scope_allow":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":"69436ac0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddbc0524-b89d-4f83-9a16-d5aa1711b6ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54ae3498-807b-4bda-9cd8-ae9d815b87f0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.6270652} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.569722,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"69476260-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac","object_type":"device","rebac_allow":false,"scope_allow":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":"69476260-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69436ac0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling 200 24ms","method":"POST","requestID":"69436ac0-08c9-11f0-a656-5b8621d22e82","responseTime":24,"status":200,"url":"/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69476260-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69476260-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling 200 12ms","method":"POST","requestID":"69476260-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb18836f-df16-492d-a3bd-fcbbc5dd2c18': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb18836f-df16-492d-a3bd-fcbbc5dd2c18","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"75922db3-3a48-4d37-8227-d7a769bc5861","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.8795261} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0651e449-a2fa-45b1-9d42-018f8d9a8e85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832159.8801975} authorization-1 | {"level":"info","message":"POST /relations/update 200 291ms","method":"POST","requestID":"5f4ffeee1f0474421270f9388a3b503f","responseTime":291,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18","requestID":"5f4ffeee1f0474421270f9388a3b503f"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.407","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f4ffeee1f0474421270f9388a3b503f"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18 204 1405ms","method":"DELETE","requestID":"5f4ffeee1f0474421270f9388a3b503f","responseTime":1405,"status":204,"url":"/experiments/eb18836f-df16-492d-a3bd-fcbbc5dd2c18"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1319ms","method":"POST","requestID":"3818196b262f36f98c9eb12e63c678a2","responseTime":1319,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MH0.uCtwucrnhamMYDTkSwq2FcYuSq3xao2NuM29FQC0uI4","level":"info","message":"auth send jwt","requestID":"235fa121e6f73f8b8331ae3d4ae31792"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.323","http_referrer":"","http_user_agent":"node-fetch","requestID":"3818196b262f36f98c9eb12e63c678a2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"235fa121e6f73f8b8331ae3d4ae31792","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1319ms","method":"POST","requestID":"b454da3ee607b4d891c9f3000835c60a","responseTime":1319,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.323","http_referrer":"","http_user_agent":"node-fetch","requestID":"b454da3ee607b4d891c9f3000835c60a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"2.664","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":"d573902b982b32da3b16cca25bce3041"} device-1 | {"level":"info","message":"postDevices called","requestID":"235fa121e6f73f8b8331ae3d4ae31792"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"2.665","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":"85141b223319f789c9ce9ebc50daf6e2"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851776,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"235fa121e6f73f8b8331ae3d4ae31792","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832160,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MH0.uCtwucrnhamMYDTkSwq2FcYuSq3xao2NuM29FQC0uI4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","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/ddbc0524-b89d-4f83-9a16-d5aa1711b6ac' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5915a9c0-e648-4baf-bc4f-f6d4e4b03ab9' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"52a33170-b6b5-4329-b9c8-f835808a06ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.4540255} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"453c3534-db11-44b9-b273-ce2f6f53ccb0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.4590044} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7cd6aee3-9620-47f6-8cd6-a2e44c56888b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.469097} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"856e99dd-115f-4285-87f6-725c24652d2b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.4693718} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.469083824Z"}]},"request_id":"4fdeeda2-7e0f-4b16-9b23-731042cff866","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.4776886} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"235fa121e6f73f8b8331ae3d4ae31792"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +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":"235fa121e6f73f8b8331ae3d4ae31792"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"235fa121e6f73f8b8331ae3d4ae31792","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MH0.uCtwucrnhamMYDTkSwq2FcYuSq3xao2NuM29FQC0uI4","level":"info","message":"auth send jwt","requestID":"a38f2c60d713582e20d270cc4b9acc06"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a38f2c60d713582e20d270cc4b9acc06","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a38f2c60d713582e20d270cc4b9acc06"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:40Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.63313,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a38f2c60d713582e20d270cc4b9acc06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832160,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MH0.uCtwucrnhamMYDTkSwq2FcYuSq3xao2NuM29FQC0uI4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20ea309c-1f45-402a-a1f7-1a53d8ea619d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.5140972} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b21a340d-439d-4233-967b-9ef9438f48e7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.518516} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"07955d25-879c-4ef3-8229-c4a52731e9e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.5546923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19beb05-d719-4146-a816-892695059abf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.5548863} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","responseTime":38,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"5ecd568f-3147-4016-be62-6c2f3b8b0ab9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832160.5592177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a38f2c60d713582e20d270cc4b9acc06"} gateway-1 | {"time_local":"24/Mar/2025:16:02:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a38f2c60d713582e20d270cc4b9acc06"} device-1 | {"level":"info","message":"POST /devices? 201 75ms","method":"POST","requestID":"a38f2c60d713582e20d270cc4b9acc06","responseTime":75,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MX0.hFeA_9HSQuZvU5JVcgiieEBbTs9dLjRfwTVgFQvzEAc","level":"info","message":"auth send jwt","requestID":"e51dc6c7c5e89a8f61b4520da2595021"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e51dc6c7c5e89a8f61b4520da2595021","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e51dc6c7c5e89a8f61b4520da2595021"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830181,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e51dc6c7c5e89a8f61b4520da2595021","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832161,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MX0.hFeA_9HSQuZvU5JVcgiieEBbTs9dLjRfwTVgFQvzEAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e51dc6c7c5e89a8f61b4520da2595021","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"2c9d3cce-1ab3-43d6-ba3c-ee13a6824a4b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832161.6571476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e51dc6c7c5e89a8f61b4520da2595021","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"148ca359-6fa0-419e-a4c3-3b7fec465611","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832161.6617064} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e51dc6c7c5e89a8f61b4520da2595021","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"21f65bcc-619e-476b-9f57-faa5bb59ce35","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832161.7022805} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e51dc6c7c5e89a8f61b4520da2595021","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e51dc6c7c5e89a8f61b4520da2595021"} gateway-1 | {"time_local":"24/Mar/2025:16:02:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e51dc6c7c5e89a8f61b4520da2595021"} device-1 | {"level":"info","message":"PATCH /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683 200 86ms","method":"PATCH","requestID":"e51dc6c7c5e89a8f61b4520da2595021","responseTime":86,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MX0.hFeA_9HSQuZvU5JVcgiieEBbTs9dLjRfwTVgFQvzEAc","level":"info","message":"auth send jwt","requestID":"58521f6d5f8fb5c6596d0de1be5e976a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58521f6d5f8fb5c6596d0de1be5e976a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"58521f6d5f8fb5c6596d0de1be5e976a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727888,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"58521f6d5f8fb5c6596d0de1be5e976a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832161,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2MX0.hFeA_9HSQuZvU5JVcgiieEBbTs9dLjRfwTVgFQvzEAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58521f6d5f8fb5c6596d0de1be5e976a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"58521f6d5f8fb5c6596d0de1be5e976a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"58521f6d5f8fb5c6596d0de1be5e976a"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/websocket 200 38ms","method":"POST","requestID":"58521f6d5f8fb5c6596d0de1be5e976a","responseTime":38,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e395d99a06fae588c4bb87c94d01fd70","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":"e395d99a06fae588c4bb87c94d01fd70","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/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":"e395d99a06fae588c4bb87c94d01fd70"} device-1 | {"level":"info","message":"OPTIONS /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/websocket 200 1ms","method":"OPTIONS","requestID":"e395d99a06fae588c4bb87c94d01fd70","responseTime":1,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck","level":"info","message":"auth send jwt","requestID":"3e90baa383afa981c50480debbe5521f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3e90baa383afa981c50480debbe5521f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3e90baa383afa981c50480debbe5521f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.683255,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3e90baa383afa981c50480debbe5521f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3e90baa383afa981c50480debbe5521f","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3e90baa383afa981c50480debbe5521f"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/websocket 200 36ms","method":"POST","requestID":"3e90baa383afa981c50480debbe5521f","responseTime":36,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:02:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","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":"3e90baa383afa981c50480debbe5521f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck","level":"info","message":"auth send jwt","requestID":"e56877c98bf31a207e69015639653d64"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e56877c98bf31a207e69015639653d64","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e56877c98bf31a207e69015639653d64"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192204,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e56877c98bf31a207e69015639653d64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e56877c98bf31a207e69015639653d64","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.469083824Z"}]},"request_id":"c3819854-14b0-4358-b3e7-8704ef2f4af7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832162.8717043} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e56877c98bf31a207e69015639653d64","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e56877c98bf31a207e69015639653d64"} gateway-1 | {"time_local":"24/Mar/2025:16:02:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? 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":"e56877c98bf31a207e69015639653d64"} device-1 | {"level":"info","message":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? 200 16ms","method":"GET","requestID":"e56877c98bf31a207e69015639653d64","responseTime":16,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck","level":"info","message":"auth send jwt","requestID":"69addfced185022863c7e83c3c9e3c5f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"69addfced185022863c7e83c3c9e3c5f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69addfced185022863c7e83c3c9e3c5f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712631,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"69addfced185022863c7e83c3c9e3c5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69addfced185022863c7e83c3c9e3c5f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"8388fd6b-03b1-4691-8e98-80b00daf6f07","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832162.8898895} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69addfced185022863c7e83c3c9e3c5f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69addfced185022863c7e83c3c9e3c5f"} gateway-1 | {"time_local":"24/Mar/2025:16:02:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 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":"69addfced185022863c7e83c3c9e3c5f"} device-1 | {"level":"info","message":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 200 12ms","method":"GET","requestID":"69addfced185022863c7e83c3c9e3c5f","responseTime":12,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck","level":"info","message":"auth send jwt","requestID":"2c4f139bea3a9f2d41eef8b740440582"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c4f139bea3a9f2d41eef8b740440582","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2c4f139bea3a9f2d41eef8b740440582"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.737273,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2c4f139bea3a9f2d41eef8b740440582","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c4f139bea3a9f2d41eef8b740440582","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to run experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to book experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully booked experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623227,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76768,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.469083824Z"}]},"request_id":"ea18a553-f905-4dde-84f3-dbb978d5efce","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832162.9962256} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"67d351be-a370-45a6-88c6-d57e0478e857","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832162.9971764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? 200 39ms","method":"GET","requestID":"6b452e30-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 200 38ms","method":"GET","requestID":"6b457c50-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Setting up experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully set up experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b549780-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully running experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b550cb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40292","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617783,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.483431,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b549780-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b549780-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"5c7f6830-6159-442a-9562-375ffe0b0315","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.10007} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67fc785b-067d-4190-b0f4-25090c62deb5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1000855} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.469083824Z"}]},"request_id":"3709d78b-fc77-40e6-bd1f-81c55aeffed5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1008344} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.00795,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b550cb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","rebac_allow":false,"scope_allow":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":"6b550cb0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b549780-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 200 39ms","method":"GET","requestID":"6b54e5a0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b550cb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling 200 41ms","method":"POST","requestID":"6b550cb0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b549780-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? 200 45ms","method":"GET","requestID":"6b549780-08c9-11f0-a656-5b8621d22e82","responseTime":45,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b5b9c60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81d52045-b32e-45d4-8519-77dc1a5e8359#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81d52045-b32e-45d4-8519-77dc1a5e8359","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"f211c93b-d24c-4353-80af-ef2cbfd693d6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1370947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f480eed-2a3e-4859-94c2-cd0df9587dad","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1372962} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"2c4f139bea3a9f2d41eef8b740440582","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b603040-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361866,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5292d091-2a1c-4850-89ae-b5d3257f8b89","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1398025} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b5b9c60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","rebac_allow":false,"scope_allow":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":"6b5b9c60-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b5b9c60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling 200 35ms","method":"POST","requestID":"6b5b9c60-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bdecb35-0af2-4a79-829d-8028e23b76f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1460252} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.660831,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b603040-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","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/81d52045-b32e-45d4-8519-77dc1a5e8359","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2c4f139bea3a9f2d41eef8b740440582"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6b603040-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:02:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.253","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"level":"info","message":"POST /experiments? 201 248ms","method":"POST","requestID":"2c4f139bea3a9f2d41eef8b740440582","responseTime":248,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b603040-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling 200 10ms","method":"POST","requestID":"6b603040-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2M30.HLv4yaj7Dl5r_O3vID3x_u3kuo_0fWMXYud0n7n2IxU","level":"info","message":"auth send jwt","requestID":"e80de149938e78be8797e8da71af1e11"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b622c10-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e80de149938e78be8797e8da71af1e11","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e80de149938e78be8797e8da71af1e11"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209731,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e80de149938e78be8797e8da71af1e11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832163,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2M30.HLv4yaj7Dl5r_O3vID3x_u3kuo_0fWMXYud0n7n2IxU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e80de149938e78be8797e8da71af1e11","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5994ed07-9b3d-426b-a400-715167ad5e14","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.1581821} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.992914,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b622c10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","rebac_allow":false,"scope_allow":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":"6b622c10-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.469083824Z"}]},"request_id":"9b862cd4-fcd6-490f-b816-091d3fea1b18","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.186075} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"e80de149938e78be8797e8da71af1e11","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b622c10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling 200 35ms","method":"POST","requestID":"6b622c10-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e80de149938e78be8797e8da71af1e11"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Building connection plan","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"dec50d56-c037-44e1-a1fe-a449738b0339"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"068626a8-d450-441e-aa56-ae1e873a1f9c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aa55f753-9a36-40f4-8708-2741e592349e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2c4f139bea3a9f2d41eef8b740440582"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2c4f139bea3a9f2d41eef8b740440582"} gateway-1 | {"time_local":"24/Mar/2025:16:02:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e80de149938e78be8797e8da71af1e11"} device-1 | {"level":"info","message":"GET /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718? 200 36ms","method":"GET","requestID":"e80de149938e78be8797e8da71af1e11","responseTime":36,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2M30.HLv4yaj7Dl5r_O3vID3x_u3kuo_0fWMXYud0n7n2IxU","level":"info","message":"auth send jwt","requestID":"eb68c35b070aeae0f09b393547cc0c00"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb68c35b070aeae0f09b393547cc0c00","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.857097,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb68c35b070aeae0f09b393547cc0c00"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832162,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Mn0.8_DDvTVzJybbnJxz8pEroG8ogPa3t_E5EIKR9Y6Qtck"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640413,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eb68c35b070aeae0f09b393547cc0c00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832163,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2M30.HLv4yaj7Dl5r_O3vID3x_u3kuo_0fWMXYud0n7n2IxU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb68c35b070aeae0f09b393547cc0c00","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:40.554671733Z"}]},"request_id":"e03a3ff2-d552-4df9-ae70-647e790b411f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.2010243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb68c35b070aeae0f09b393547cc0c00","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb68c35b070aeae0f09b393547cc0c00"} gateway-1 | {"time_local":"24/Mar/2025:16:02:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 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":"eb68c35b070aeae0f09b393547cc0c00"} device-1 | {"level":"info","message":"GET /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683? 200 11ms","method":"GET","requestID":"eb68c35b070aeae0f09b393547cc0c00","responseTime":11,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"13c556d7-423a-48a1-9d34-8b04414f9871","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.2055252} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f988a0ff-945a-49c4-a300-ae813160d838","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.205879} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f'","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f'","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 72ms","method":"POST","requestID":"6b67f870-08c9-11f0-a656-5b8621d22e82","responseTime":72,"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":"6b67f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","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/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2c4f139bea3a9f2d41eef8b740440582"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b77d6f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d79d303d-00c9-44a1-97b2-9f94925f13d6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.299193} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28027,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b77d6f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","rebac_allow":false,"scope_allow":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":"6b77d6f0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b77d6f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling 200 8ms","method":"POST","requestID":"6b77d6f0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b7984a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:43Z"} device-1 | {"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0b02878-e71b-4f44-9c65-c1deb4ac1887","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832163.3108335} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79605,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6b7984a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","rebac_allow":false,"scope_allow":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":"6b7984a0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2384799415045342134 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:VYC5\r\na=ice-pwd:ao4ocR1qqGi0UvY7GCgfsmn2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F4:2E:40:C2:F6:39:81:14:56:07:46:38:68:A2:B4:BB:B5:8E:8E:A3:81:F1:96:8D:41:EF:53:59:8D:CC:CF:26\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b7984a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling 200 11ms","method":"POST","requestID":"6b7984a0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling"} device-1 | {"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/f3069b44-ab0a-405f-8551-8494f412254f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b76caded08283efa71288971be30cd80","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":"b76caded08283efa71288971be30cd80","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/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"}}},"level":"info","message":"received a callback","requestID":"b76caded08283efa71288971be30cd80"} device-1 | {"content":{"candidate":"candidate:910658284 1 udp 2113937151 68db73fd-dc2a-4fde-8994-f15879ef2648.local 33108 typ host generation 0 ufrag VYC5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"b76caded08283efa71288971be30cd80","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:45 +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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"b76caded08283efa71288971be30cd80"} device-1 | {"device":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs","level":"info","message":"auth send jwt","requestID":"71d02ca3484d63de09c295eec0332595"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"71d02ca3484d63de09c295eec0332595","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"71d02ca3484d63de09c295eec0332595"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.995332,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"71d02ca3484d63de09c295eec0332595","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832165,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71d02ca3484d63de09c295eec0332595","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"71d02ca3484d63de09c295eec0332595"} gateway-1 | {"time_local":"24/Mar/2025:16:02:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71d02ca3484d63de09c295eec0332595"} experiment-1 | {"level":"info","message":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 200 23ms","method":"GET","requestID":"71d02ca3484d63de09c295eec0332595","responseTime":23,"status":200,"url":"/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed569d93f26c644e68597c837a25e216","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":"ed569d93f26c644e68597c837a25e216","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/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"}}},"level":"info","message":"received a callback","requestID":"ed569d93f26c644e68597c837a25e216"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6cd766f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff3069b44-ab0a-405f-8551-8494f412254f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7ace569-06c2-4abe-b440-a068d07fcd44","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832165.6048033} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.048442,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6cd766f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","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":"6cd766f0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs","level":"info","message":"auth send jwt","requestID":"1d11b73baa595476699c07538362964a"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"1d11b73baa595476699c07538362964a","responseTime":24,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"1d11b73baa595476699c07538362964a"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.870242,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1d11b73baa595476699c07538362964a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832165,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d11b73baa595476699c07538362964a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"1d11b73baa595476699c07538362964a"} experiment-1 | {"level":"info","message":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 200 13ms","method":"GET","requestID":"1d11b73baa595476699c07538362964a","responseTime":13,"status":200,"url":"/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"} gateway-1 | {"time_local":"24/Mar/2025:16:02:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d11b73baa595476699c07538362964a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6cd766f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/f3069b44-ab0a-405f-8551-8494f412254f 200 140ms","method":"GET","requestID":"6cd766f0-08c9-11f0-a656-5b8621d22e82","responseTime":140,"status":200,"url":"/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs","level":"info","message":"auth send jwt","requestID":"c73d772991611a88640491a4a205ad16"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c73d772991611a88640491a4a205ad16","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"c73d772991611a88640491a4a205ad16"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.634405,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c73d772991611a88640491a4a205ad16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832165,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c73d772991611a88640491a4a205ad16","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 229ms","method":"POST","requestID":"ed569d93f26c644e68597c837a25e216","responseTime":229,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:45 +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.232","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed569d93f26c644e68597c837a25e216"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6cf946d0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"c73d772991611a88640491a4a205ad16"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} gateway-1 | {"time_local":"24/Mar/2025:16:02:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c73d772991611a88640491a4a205ad16"} experiment-1 | {"level":"info","message":"GET /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 200 67ms","method":"GET","requestID":"c73d772991611a88640491a4a205ad16","responseTime":67,"status":200,"url":"/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ddaf7fb-dad7-4a4c-8b03-843099f153c2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832165.8263032} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508352,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6cf946d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","rebac_allow":false,"scope_allow":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":"6cf946d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6cf946d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling 200 11ms","method":"POST","requestID":"6cf946d0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs","level":"info","message":"auth send jwt","requestID":"f90aa1a374b32b96eda74eefcd9af238"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f90aa1a374b32b96eda74eefcd9af238","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6cfb69b0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"f90aa1a374b32b96eda74eefcd9af238"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac370b45-fed1-470d-9476-7e830e52ea68","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832165.840812} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.090442,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f90aa1a374b32b96eda74eefcd9af238","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832165,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f90aa1a374b32b96eda74eefcd9af238","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.75462,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6cfb69b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","rebac_allow":false,"scope_allow":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":"6cfb69b0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6cfb69b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling 200 11ms","method":"POST","requestID":"6cfb69b0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Attempting to finish experiment","requestID":"f90aa1a374b32b96eda74eefcd9af238"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.742738,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832165,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2NX0.KTgRvW7G_tRavlctdRWJrBn7mknudsfG2kg--ybOgAs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f","device":"b07a6ac4-46d8-48f3-9734-94051b5f5718","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b8e12a7-25b7-4cae-99b6-cab8d90cc683","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/f3069b44-ab0a-405f-8551-8494f412254f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f3069b44-ab0a-405f-8551-8494f412254f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff3069b44-ab0a-405f-8551-8494f412254f': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff3069b44-ab0a-405f-8551-8494f412254f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"2f7e1b8e-d3da-4f7b-99a6-ab607dbf3b2f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832165.8686054} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0de6c1df9b546a4b0b4a5c5a9243fbf2","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45756cb3-815c-4be8-8d8b-4318ccfcd0c4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832165.8690698} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0de6c1df9b546a4b0b4a5c5a9243fbf2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20b5007809acad4c7087cd5421cdc6c2","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":"20b5007809acad4c7087cd5421cdc6c2","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":"closed","url":"http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"}}},"level":"info","message":"received a callback","requestID":"0de6c1df9b546a4b0b4a5c5a9243fbf2"} 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/6b8e12a7-25b7-4cae-99b6-cab8d90cc683"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"}}},"level":"info","message":"received a callback","requestID":"20b5007809acad4c7087cd5421cdc6c2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/f3069b44-ab0a-405f-8551-8494f412254f 204 132ms","method":"DELETE","requestID":"6cfdb3a0-08c9-11f0-a656-5b8621d22e82","responseTime":132,"status":204,"url":"/peerconnections/f3069b44-ab0a-405f-8551-8494f412254f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"},"level":"info","message":"Successfully finished experiment","requestID":"f90aa1a374b32b96eda74eefcd9af238"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d188ea0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b8e12a7-25b7-4cae-99b6-cab8d90cc683","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3bddf68-4cdd-49d3-b51c-4a892bca38a0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.0315936} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.230735,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6d188ea0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683","object_type":"device","rebac_allow":false,"scope_allow":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":"6d188ea0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d188ea0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling 200 10ms","method":"POST","requestID":"6d188ea0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/6b8e12a7-25b7-4cae-99b6-cab8d90cc683/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d1a6360-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81d52045-b32e-45d4-8519-77dc1a5e8359': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81d52045-b32e-45d4-8519-77dc1a5e8359","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"db8df5f3-6d94-4ad9-b466-0f009c206c22","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.0649135} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5006fa05-7d06-450f-838b-4f2ca6a579aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.065188} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"f90aa1a374b32b96eda74eefcd9af238","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.185711,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb07a6ac4-46d8-48f3-9734-94051b5f5718","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"493f463c-97b2-41db-968b-b648cdc68ce2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.067307} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6d1a6360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"6d1a6360-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d1a6360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling 200 34ms","method":"POST","requestID":"6d1a6360-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359","requestID":"f90aa1a374b32b96eda74eefcd9af238"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.334","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f90aa1a374b32b96eda74eefcd9af238"} experiment-1 | {"level":"info","message":"DELETE /experiments/81d52045-b32e-45d4-8519-77dc1a5e8359 204 328ms","method":"DELETE","requestID":"f90aa1a374b32b96eda74eefcd9af238","responseTime":328,"status":204,"url":"/experiments/81d52045-b32e-45d4-8519-77dc1a5e8359"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"4.409","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ca4fc4640b11d39a94d7e30ab4cf1fd6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 293ms","method":"POST","requestID":"0de6c1df9b546a4b0b4a5c5a9243fbf2","responseTime":293,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +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.297","http_referrer":"","http_user_agent":"node-fetch","requestID":"0de6c1df9b546a4b0b4a5c5a9243fbf2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 293ms","method":"POST","requestID":"20b5007809acad4c7087cd5421cdc6c2","responseTime":293,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +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.297","http_referrer":"","http_user_agent":"node-fetch","requestID":"20b5007809acad4c7087cd5421cdc6c2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Nn0.KnVbX3cMSs1np3S3Kk9aNcmSnYG6QtolkaGAxpxsMrQ","level":"info","message":"auth send jwt","requestID":"bc5119637acf7f741c51aacd19659dc9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc5119637acf7f741c51aacd19659dc9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bc5119637acf7f741c51aacd19659dc9"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"3.331","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":"a613a60e2c2efb92962def34e5fc93f5"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.082036,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bc5119637acf7f741c51aacd19659dc9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832166,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Nn0.KnVbX3cMSs1np3S3Kk9aNcmSnYG6QtolkaGAxpxsMrQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","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/6b8e12a7-25b7-4cae-99b6-cab8d90cc683' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed749653-98b4-4a01-979b-5fcec5278f69","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2103372} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","responseTime":23,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"032d56bd-0cf2-4188-a88d-4e3cc9332f6a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2164774} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b07a6ac4-46d8-48f3-9734-94051b5f5718' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"6b93cd36-a3fb-4aa8-ab72-12aac9fa4203","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2298331} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7c756b8-47f9-4b91-8069-356404402cd9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2301452} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"62390e89-b350-48fa-8ace-6a98f0c37c2d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.234293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bc5119637acf7f741c51aacd19659dc9"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc5119637acf7f741c51aacd19659dc9"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"bc5119637acf7f741c51aacd19659dc9","responseTime":67,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Nn0.KnVbX3cMSs1np3S3Kk9aNcmSnYG6QtolkaGAxpxsMrQ","level":"info","message":"auth send jwt","requestID":"031796118bf6d7f09342ac5b66631f78"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"031796118bf6d7f09342ac5b66631f78","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"031796118bf6d7f09342ac5b66631f78"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761447,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"031796118bf6d7f09342ac5b66631f78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832166,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2Nn0.KnVbX3cMSs1np3S3Kk9aNcmSnYG6QtolkaGAxpxsMrQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3976325a-9533-4128-87b1-d0f18fe68cd5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2799847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1769e6cd-4d20-4981-ae6d-8308f64b499d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.2842724} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"da95014c-69cc-4f7d-b01b-bb3cbeb0f811","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.3177118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c871afd4-9e86-4e97-b6df-89b3aaf065ec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.3178592} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.317697077Z"}]},"request_id":"614a92f2-f1c7-46c7-9679-708b0e28a9d3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832166.3222811} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"031796118bf6d7f09342ac5b66631f78"} gateway-1 | {"time_local":"24/Mar/2025:16:02:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"031796118bf6d7f09342ac5b66631f78"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"031796118bf6d7f09342ac5b66631f78","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2N30.j3pAPO33ZgJTRJqjrxffnNgSyS7SubLYLNsa61Ebcqo","level":"info","message":"auth send jwt","requestID":"600ef89aac11735e9c2aa02ff01a3f7a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"600ef89aac11735e9c2aa02ff01a3f7a"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:47Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771228,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"600ef89aac11735e9c2aa02ff01a3f7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832167,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2N30.j3pAPO33ZgJTRJqjrxffnNgSyS7SubLYLNsa61Ebcqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"212ce532-34fa-4a1f-b53f-cf1358512696","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832167.2401676} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3786a3f-9a98-4c40-bf6f-3f7d90bc0b56","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832167.2693913} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","responseTime":27,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"600ef89aac11735e9c2aa02ff01a3f7a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"93601baa-7e20-4fbf-871f-8ccc1c51976e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832167.2932506} gateway-1 | {"time_local":"24/Mar/2025:16:02:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.069","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"600ef89aac11735e9c2aa02ff01a3f7a"} device-1 | {"level":"info","message":"PATCH /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b 200 65ms","method":"PATCH","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","responseTime":65,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"600ef89aac11735e9c2aa02ff01a3f7a","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2N30.j3pAPO33ZgJTRJqjrxffnNgSyS7SubLYLNsa61Ebcqo","level":"info","message":"auth send jwt","requestID":"5036fb3107050f69260aeeb1c6b2659d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5036fb3107050f69260aeeb1c6b2659d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5036fb3107050f69260aeeb1c6b2659d"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:47Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772332,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5036fb3107050f69260aeeb1c6b2659d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832167,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2N30.j3pAPO33ZgJTRJqjrxffnNgSyS7SubLYLNsa61Ebcqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5036fb3107050f69260aeeb1c6b2659d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5036fb3107050f69260aeeb1c6b2659d"} gateway-1 | {"time_local":"24/Mar/2025:16:02:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"5036fb3107050f69260aeeb1c6b2659d"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/websocket 200 16ms","method":"POST","requestID":"5036fb3107050f69260aeeb1c6b2659d","responseTime":16,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8bd18754d1bb2708c2e14248cb775f33","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":"8bd18754d1bb2708c2e14248cb775f33","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6b336345-f60b-41cb-8282-2335a619cf8f/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":"8bd18754d1bb2708c2e14248cb775f33"} device-1 | {"level":"info","message":"OPTIONS /devices/6b336345-f60b-41cb-8282-2335a619cf8f/websocket 200 1ms","method":"OPTIONS","requestID":"8bd18754d1bb2708c2e14248cb775f33","responseTime":1,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA","level":"info","message":"auth send jwt","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342082,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0a6b1ea95581a2783b5afe71eb8e8b30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30"} gateway-1 | {"time_local":"24/Mar/2025:16:02:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","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":"0a6b1ea95581a2783b5afe71eb8e8b30"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/websocket 200 40ms","method":"POST","requestID":"0a6b1ea95581a2783b5afe71eb8e8b30","responseTime":40,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA","level":"info","message":"auth send jwt","requestID":"0507a2c8dac77be32db43f693324a809"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0507a2c8dac77be32db43f693324a809","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0507a2c8dac77be32db43f693324a809"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692019,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0507a2c8dac77be32db43f693324a809","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0507a2c8dac77be32db43f693324a809","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"d685b155-6176-445a-be51-68e35127a2ba","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.692777} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0507a2c8dac77be32db43f693324a809","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0507a2c8dac77be32db43f693324a809"} gateway-1 | {"time_local":"24/Mar/2025:16:02:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? 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":"0507a2c8dac77be32db43f693324a809"} device-1 | {"level":"info","message":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? 200 12ms","method":"GET","requestID":"0507a2c8dac77be32db43f693324a809","responseTime":12,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA","level":"info","message":"auth send jwt","requestID":"ca59d38990b775148a5910868626714d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ca59d38990b775148a5910868626714d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ca59d38990b775148a5910868626714d"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029181,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ca59d38990b775148a5910868626714d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca59d38990b775148a5910868626714d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.317697077Z"}]},"request_id":"8c8b97c0-b1d3-4f08-948b-f96ca634bb3a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.7094433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca59d38990b775148a5910868626714d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ca59d38990b775148a5910868626714d"} gateway-1 | {"time_local":"24/Mar/2025:16:02:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca59d38990b775148a5910868626714d"} device-1 | {"level":"info","message":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? 200 10ms","method":"GET","requestID":"ca59d38990b775148a5910868626714d","responseTime":10,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA","level":"info","message":"auth send jwt","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"933c9e6f3f39b32b914207afa16fc4e1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.674001,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"933c9e6f3f39b32b914207afa16fc4e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"933c9e6f3f39b32b914207afa16fc4e1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to run experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to book experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully booked experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651917,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843237,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"05bc586a-c659-4fe4-bce2-d0f273919bbe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.8099918} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.317697077Z"}]},"request_id":"5c36fdfb-3cb8-4de8-9597-cffda04a951c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.8110113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? 200 13ms","method":"GET","requestID":"6ec02420-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? 200 13ms","method":"GET","requestID":"6ec04b30-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Setting up experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully set up experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ecfb480-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718155,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully running experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89392,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"384b6795-80f3-46ec-8b8d-ed86c257ce22","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9105542} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.344117,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ecfb480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6ecfb480-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"4cce5480-f1a8-4861-abf2-f666649a40e5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.912041} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.317697077Z"}]},"request_id":"7666ac4c-102c-4589-9e78-1235b873223f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9131925} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0862e85c-2ddf-4ded-8b12-b36c7a8313e3#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0862e85c-2ddf-4ded-8b12-b36c7a8313e3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"4082569a-0267-4d4d-94fc-d7283908c30d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.91898} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ecfb480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling 200 16ms","method":"POST","requestID":"6ecfb480-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4843eed9-17cd-4a01-8337-7749a9221d4b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9193192} device-1 | {"level":"info","message":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? 200 44ms","method":"GET","requestID":"6ecf3f50-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"933c9e6f3f39b32b914207afa16fc4e1","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? 200 44ms","method":"GET","requestID":"6ecf6660-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ed61d20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ee5ee4e-860f-4526-9cfe-13396d29bea9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9508133} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266105,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ed61d20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","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":"6ed70780-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ed61d20-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ed61d20-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling 200 10ms","method":"POST","requestID":"6ed61d20-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1d3f316-6271-4d7f-836d-5215fe84d00e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9567664} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84083,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} gateway-1 | {"time_local":"24/Mar/2025:16:02:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"933c9e6f3f39b32b914207afa16fc4e1","responseTime":238,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ed70780-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6ed70780-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA","level":"info","message":"auth send jwt","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ed70780-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling 200 13ms","method":"POST","requestID":"6ed70780-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ed95170-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.569971,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6919cd0b-60bd-4ba3-ae0d-c96c1d31a188","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832168.9983814} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.753311,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ed95170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"6ed95170-08c9-11f0-a656-5b8621d22e82","responseTime":32,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.229821287Z"}]},"request_id":"902bc1ef-ca84-4d6b-8c67-49b6eff7744e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.0025861} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ed95170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling 200 36ms","method":"POST","requestID":"6ed95170-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Building connection plan","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"88f7a8a3-5fc6-4f4d-a2dc-a5a24270906e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2231d084-e497-4c15-87b2-a5c88eb6de4f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"080cea92-65f7-41c5-b9b3-e2047f71320d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274"} gateway-1 | {"time_local":"24/Mar/2025:16:02:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274"} device-1 | {"level":"info","message":"GET /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b? 200 41ms","method":"GET","requestID":"3377ff8b93d8b1f5b5c26c11ecdf2274","responseTime":41,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:49Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OX0.AXvMM_UyiJqABKkPxSmv7B0J3lW9wenqBBrCBQNL0eQ","level":"info","message":"auth send jwt","requestID":"31eb5421a3979b276ccef48e357f067f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"31eb5421a3979b276ccef48e357f067f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.704326,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:49Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"31eb5421a3979b276ccef48e357f067f"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832168,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OH0.YXovIj6z1pI-BODjazRLIb0PJtY9-hEc_nHVLNNeQMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720621,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"31eb5421a3979b276ccef48e357f067f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832169,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE2OX0.AXvMM_UyiJqABKkPxSmv7B0J3lW9wenqBBrCBQNL0eQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"31eb5421a3979b276ccef48e357f067f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:46.317697077Z"}]},"request_id":"56b1ecb3-46f8-4bc3-bd3e-60f24dfbe28a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.0169275} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"31eb5421a3979b276ccef48e357f067f","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"31eb5421a3979b276ccef48e357f067f"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d562a5ad-c1af-48a6-9460-e0292225f86b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.047466} gateway-1 | {"time_local":"24/Mar/2025:16:02:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31eb5421a3979b276ccef48e357f067f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"118848f9-db6c-4d14-afde-c3dc1d367515","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.0477402} device-1 | {"level":"info","message":"GET /devices/6b336345-f60b-41cb-8282-2335a619cf8f? 200 38ms","method":"GET","requestID":"31eb5421a3979b276ccef48e357f067f","responseTime":38,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65'","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65'","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 86ms","method":"POST","requestID":"6edf6bf0-08c9-11f0-a656-5b8621d22e82","responseTime":86,"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":"6edf6bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","device":"6b336345-f60b-41cb-8282-2335a619cf8f","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/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"933c9e6f3f39b32b914207afa16fc4e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ef40560-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdfe2674-73bd-4a8c-bcf4-90f21fc30e6c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.1465282} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.34771,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ef40560-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6ef40560-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ef40560-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling 200 9ms","method":"POST","requestID":"6ef40560-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ef5b310-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6a76cd9-fee9-4bc8-aef8-0a6096d5ead4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832169.157075} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.353862,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6ef5b310-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","rebac_allow":false,"scope_allow":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":"6ef5b310-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ef5b310-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling 200 9ms","method":"POST","requestID":"6ef5b310-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling"} device-1 | {"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4865412663567212276 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:Y9af\r\na=ice-pwd:6LSeH4qUGx4TFrcGDG+fINQT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 15:24:72:34:F7:B2:15:87:47:7B:FB:9C:D6:EC:22:9B:83:2B:87:4E:A8:FE:19:6B:E9:D2:7D:C4:CE:0D:16:E1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/a1d16071-d8c1-4551-9848-055d77ef9b65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2a64e0edcd0eb755032d12a39eaaa273","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":"2a64e0edcd0eb755032d12a39eaaa273","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/ffd7eddc-3160-4233-83df-e3cd0f13df1b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"}}},"level":"info","message":"received a callback","requestID":"2a64e0edcd0eb755032d12a39eaaa273"} device-1 | {"content":{"candidate":"candidate:2454400370 1 udp 2113937151 28157679-3562-4171-a7d7-98179c5740dc.local 53396 typ host generation 0 ufrag Y9af network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2a64e0edcd0eb755032d12a39eaaa273","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +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":"2a64e0edcd0eb755032d12a39eaaa273"} device-1 | {"data":{"peerconnection":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a1d16071-d8c1-4551-9848-055d77ef9b65","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/a1d16071-d8c1-4551-9848-055d77ef9b65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67a1990549fc11c422a9cd8d78420aee","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":"67a1990549fc11c422a9cd8d78420aee","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/ffd7eddc-3160-4233-83df-e3cd0f13df1b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"}}},"level":"info","message":"received a callback","requestID":"67a1990549fc11c422a9cd8d78420aee"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"702a6280-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1d16071-d8c1-4551-9848-055d77ef9b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8c6e5bf-b6a1-4903-ba71-b0972cdae035","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.181807} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.288928,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"702a6280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","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":"702a6280-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"702a6280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65 200 11ms","method":"GET","requestID":"702a6280-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"67a1990549fc11c422a9cd8d78420aee","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"67a1990549fc11c422a9cd8d78420aee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"702ea840-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d29f61a-f217-4e3c-b2dc-202a5f1d4ab4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.2093706} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.281605,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"702ea840-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","rebac_allow":false,"scope_allow":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":"702ea840-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"702ea840-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling 200 10ms","method":"POST","requestID":"702ea840-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70307d00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7148a754-24b0-4aa8-bce7-229fbfe5471d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.2220821} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.229088,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"70307d00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","rebac_allow":false,"scope_allow":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":"70307d00-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70307d00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling 200 13ms","method":"POST","requestID":"70307d00-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs","level":"info","message":"auth send jwt","requestID":"49dfae784f4b92e238e34b672184197d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"49dfae784f4b92e238e34b672184197d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","requestID":"49dfae784f4b92e238e34b672184197d"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.708289,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"49dfae784f4b92e238e34b672184197d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832171,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"49dfae784f4b92e238e34b672184197d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","requestID":"49dfae784f4b92e238e34b672184197d"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49dfae784f4b92e238e34b672184197d"} experiment-1 | {"level":"info","message":"GET /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3 200 12ms","method":"GET","requestID":"49dfae784f4b92e238e34b672184197d","responseTime":12,"status":200,"url":"/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs","level":"info","message":"auth send jwt","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1abf433d7dda50eb2a307b25814c6d2f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.686313,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1abf433d7dda50eb2a307b25814c6d2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832171,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"1abf433d7dda50eb2a307b25814c6d2f","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Attempting to finish experiment","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.755369,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832171,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65","device":"6b336345-f60b-41cb-8282-2335a619cf8f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ffd7eddc-3160-4233-83df-e3cd0f13df1b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/a1d16071-d8c1-4551-9848-055d77ef9b65' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c2d7eeec281b9b39484163b774a99e15","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":"c2d7eeec281b9b39484163b774a99e15","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73e506c80cb0eeb458c9a4563d38c586","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/ffd7eddc-3160-4233-83df-e3cd0f13df1b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"}}},"level":"info","message":"received a callback","requestID":"c2d7eeec281b9b39484163b774a99e15"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73e506c80cb0eeb458c9a4563d38c586","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1d16071-d8c1-4551-9848-055d77ef9b65': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1d16071-d8c1-4551-9848-055d77ef9b65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"cf753e81-e6a5-4536-8494-63b9397ea607","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.3505337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d450951-897a-4f5d-bf2e-cc534a800bdf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.350813} 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/ffd7eddc-3160-4233-83df-e3cd0f13df1b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"}}},"level":"info","message":"received a callback","requestID":"73e506c80cb0eeb458c9a4563d38c586"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"a1d16071-d8c1-4551-9848-055d77ef9b65","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65 204 96ms","method":"DELETE","requestID":"703e5fb0-08c9-11f0-a656-5b8621d22e82","responseTime":96,"status":204,"url":"/peerconnections/a1d16071-d8c1-4551-9848-055d77ef9b65"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"},"level":"info","message":"Successfully finished experiment","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70532030-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fffd7eddc-3160-4233-83df-e3cd0f13df1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5dee861b-85fe-45f7-b075-4d7e7e0f24e5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.4470346} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229599,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"70532030-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b","object_type":"device","rebac_allow":false,"scope_allow":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":"70532030-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70532030-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling 200 8ms","method":"POST","requestID":"70532030-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7054a6d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b336345-f60b-41cb-8282-2335a619cf8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d98ffd55-9fc9-469e-9b4c-50bbabac3178","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.4577818} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0862e85c-2ddf-4ded-8b12-b36c7a8313e3': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0862e85c-2ddf-4ded-8b12-b36c7a8313e3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"0ecefd87-d282-4327-96d1-e363ba05c5b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.4581552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7aa7b55-3f29-40f4-82c8-93df6e4bb05a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.4585197} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380473,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7054a6d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b336345-f60b-41cb-8282-2335a619cf8f","object_type":"device","rebac_allow":false,"scope_allow":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":"7054a6d0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"1abf433d7dda50eb2a307b25814c6d2f","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7054a6d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling 200 10ms","method":"POST","requestID":"7054a6d0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/6b336345-f60b-41cb-8282-2335a619cf8f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.292","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1abf433d7dda50eb2a307b25814c6d2f"} experiment-1 | {"level":"info","message":"DELETE /experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3 204 287ms","method":"DELETE","requestID":"1abf433d7dda50eb2a307b25814c6d2f","responseTime":287,"status":204,"url":"/experiments/0862e85c-2ddf-4ded-8b12-b36c7a8313e3"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"4.226","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"5ae08836c0a9425e7c7091cee3769e4f"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +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.241","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2d7eeec281b9b39484163b774a99e15"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 237ms","method":"POST","requestID":"c2d7eeec281b9b39484163b774a99e15","responseTime":237,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs","level":"info","message":"auth send jwt","requestID":"4e5b25a911aebecc7b46bcd3ea816e03"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 238ms","method":"POST","requestID":"73e506c80cb0eeb458c9a4563d38c586","responseTime":238,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +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.241","http_referrer":"","http_user_agent":"node-fetch","requestID":"73e506c80cb0eeb458c9a4563d38c586"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"2.929","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":"e41b7bdb32e7c8633279390374f451a9"} device-1 | {"level":"info","message":"postDevices called","requestID":"4e5b25a911aebecc7b46bcd3ea816e03"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ffd7eddc-3160-4233-83df-e3cd0f13df1b' closed"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.939414,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4e5b25a911aebecc7b46bcd3ea816e03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832171,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","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/6b336345-f60b-41cb-8282-2335a619cf8f' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"580b7b77-1afb-4167-a4a0-eb7a3b0e1ab6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6403542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"232c9bc5-ced6-41e2-a520-215293319c1a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6453817} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"f82c488e-60af-4c78-925c-1807354ee68d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6581187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2cae3d4-b71a-48d0-9076-e6e99121bd9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6583934} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"03abaa15-d1d6-46e7-af08-b34f27ddea28","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6641471} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4e5b25a911aebecc7b46bcd3ea816e03"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +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":"4e5b25a911aebecc7b46bcd3ea816e03"} device-1 | {"level":"info","message":"POST /devices? 201 74ms","method":"POST","requestID":"4e5b25a911aebecc7b46bcd3ea816e03","responseTime":74,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs","level":"info","message":"auth send jwt","requestID":"70d93d33eba82e4fdc912375445d9192"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"70d93d33eba82e4fdc912375445d9192","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"70d93d33eba82e4fdc912375445d9192"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.652402,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"70d93d33eba82e4fdc912375445d9192","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832171,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3MX0.1UcEzHKiZm4n8q5ZBeMlbdNteSvou614puoJ3jCnWRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2cda31f9-0ad2-463f-8b62-07c9d4cdccf2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6873336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b3705cd-f966-4cb4-9a2f-1b81bbe84de5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.6918015} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"fbf897bd-a4f8-4596-af89-e4425da76507","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.7005696} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45306213-d9f1-4bdb-93a1-1e244e0aa1cd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.7007074} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"cff5e2dd-a65b-49a3-bf13-a7f4a63cdf34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832171.7294834} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"70d93d33eba82e4fdc912375445d9192"} gateway-1 | {"time_local":"24/Mar/2025:16:02:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70d93d33eba82e4fdc912375445d9192"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"70d93d33eba82e4fdc912375445d9192","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"f845da07a81ff47164d800ce47cf1857"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f845da07a81ff47164d800ce47cf1857","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f845da07a81ff47164d800ce47cf1857"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"764bbb8ee8f5c004a6b5ace29aec008f"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823677,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"764bbb8ee8f5c004a6b5ace29aec008f"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f845da07a81ff47164d800ce47cf1857","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f845da07a81ff47164d800ce47cf1857","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756821,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"764bbb8ee8f5c004a6b5ace29aec008f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"53682242-f91b-424d-b3a7-87a3b66463ee","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.6080675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f845da07a81ff47164d800ce47cf1857","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"0d01a6d3-d3ff-4861-9c2b-e3d97617bb39","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.6118433} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"931fc500-6267-4866-b4a6-4c59ae75bc24","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.6140985} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f845da07a81ff47164d800ce47cf1857","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00192234-a0ca-4b3e-bcc3-e7fb6a5bc8c4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.6421032} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"123b639c-68b8-431b-8d8f-2fae8204f0bf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.659699} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f845da07a81ff47164d800ce47cf1857","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f845da07a81ff47164d800ce47cf1857"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"f845da07a81ff47164d800ce47cf1857"} device-1 | {"level":"info","message":"PATCH /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a 200 65ms","method":"PATCH","requestID":"f845da07a81ff47164d800ce47cf1857","responseTime":65,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"e6df1f3943c48684ccf0d15f8a275758"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e6df1f3943c48684ccf0d15f8a275758","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e6df1f3943c48684ccf0d15f8a275758"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638232,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e6df1f3943c48684ccf0d15f8a275758","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6df1f3943c48684ccf0d15f8a275758","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"5a1de90c-a3fd-49da-b77b-a4fe1789228e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.693133} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"764bbb8ee8f5c004a6b5ace29aec008f"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a888855b-93be-4315-85d1-75170d24aa94 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.100","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"764bbb8ee8f5c004a6b5ace29aec008f"} device-1 | {"level":"info","message":"PATCH /devices/a888855b-93be-4315-85d1-75170d24aa94 200 97ms","method":"PATCH","requestID":"764bbb8ee8f5c004a6b5ace29aec008f","responseTime":97,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e6df1f3943c48684ccf0d15f8a275758"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/websocket 200 43ms","method":"POST","requestID":"e6df1f3943c48684ccf0d15f8a275758","responseTime":43,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e6df1f3943c48684ccf0d15f8a275758"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047608,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"62aebd9849ce5fa87d8d34325a2eb1e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/websocket 200 44ms","method":"POST","requestID":"62aebd9849ce5fa87d8d34325a2eb1e4","responseTime":44,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"38bfd96a124b7cabb9d65f78f5de5917"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38bfd96a124b7cabb9d65f78f5de5917","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"38bfd96a124b7cabb9d65f78f5de5917"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299981,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"38bfd96a124b7cabb9d65f78f5de5917","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"38bfd96a124b7cabb9d65f78f5de5917","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"d6992a1a-5baa-4e59-ae51-62c8dea0250e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.8036213} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"38bfd96a124b7cabb9d65f78f5de5917","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"38bfd96a124b7cabb9d65f78f5de5917"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? 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":"38bfd96a124b7cabb9d65f78f5de5917"} device-1 | {"level":"info","message":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? 200 12ms","method":"GET","requestID":"38bfd96a124b7cabb9d65f78f5de5917","responseTime":12,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"4f587ea6f03362f347ce5884c34b5c66"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f587ea6f03362f347ce5884c34b5c66","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4f587ea6f03362f347ce5884c34b5c66"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682432,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4f587ea6f03362f347ce5884c34b5c66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f587ea6f03362f347ce5884c34b5c66","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"5bb6f65b-d34a-4170-97ae-40ffff2e0df3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.843034} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4f587ea6f03362f347ce5884c34b5c66","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4f587ea6f03362f347ce5884c34b5c66"} gateway-1 | {"time_local":"24/Mar/2025:16:02:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f587ea6f03362f347ce5884c34b5c66"} device-1 | {"level":"info","message":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? 200 10ms","method":"GET","requestID":"4f587ea6f03362f347ce5884c34b5c66","responseTime":10,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE","level":"info","message":"auth send jwt","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b0f9a7b12d12316db40fe5cbca9594b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.733018,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b0f9a7b12d12316db40fe5cbca9594b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9b0f9a7b12d12316db40fe5cbca9594b","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to run experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to book experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully booked experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7136f080-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71371790-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626087,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7136f080-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7136f080-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608726,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"71371790-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71371790-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"49f60944-1332-4593-a193-110948870315","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.9442818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7136f080-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"223c58ce-a8ec-4e64-b92b-0c9bf1407c38","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832172.9450927} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71371790-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7136f080-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? 200 13ms","method":"GET","requestID":"7136f080-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71371790-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? 200 12ms","method":"GET","requestID":"71371790-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Setting up experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully set up experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"714632c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"714659d0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully running experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79001,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869465,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"714632c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"714632c0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1604af1a-e32b-4505-b6c6-0694567fbee9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.0431466} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546305,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"714659d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","rebac_allow":false,"scope_allow":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":"714659d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"714659d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/signaling 200 11ms","method":"POST","requestID":"714659d0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"e08ed530-b228-42a2-b495-570820701d19","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.0472248} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"a162d693-b147-42b2-a8f4-06f763036b5e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.0484586} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"714632c0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"714bff20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? 200 44ms","method":"GET","requestID":"7145e4a0-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"714632c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? 200 43ms","method":"GET","requestID":"714632c0-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dd11d05-0933-43f6-a881-8654d9227679","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.078649} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52c357b1-7d6d-498e-ab94-8f1602d39983#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52c357b1-7d6d-498e-ab94-8f1602d39983","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"f5b275e6-acc8-4633-be1f-f687da49a755","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.08039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6952b3e2-c911-4ed5-ad78-6696fee6c43e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.0805497} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452149,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"714bff20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","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":"714d37a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"714bff20-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"9b0f9a7b12d12316db40fe5cbca9594b","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"714bff20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling 200 11ms","method":"POST","requestID":"714bff20-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f2328f6-7f2a-4b76-ab12-433c0bfb7ba4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.0868406} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832662,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"714d37a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","rebac_allow":false,"scope_allow":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":"714d37a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} gateway-1 | {"time_local":"24/Mar/2025:16:02:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"9b0f9a7b12d12316db40fe5cbca9594b","responseTime":238,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"714d37a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/signaling 200 9ms","method":"POST","requestID":"714d37a0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"714ee550-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3M30.uCN1sJ8uLOsXnfJwMwMuHFN7LEi_lT_tcO2B6SSybvs","level":"info","message":"auth send jwt","requestID":"8c16b171d58e0e983c92ba80d22788f0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8c16b171d58e0e983c92ba80d22788f0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c16b171d58e0e983c92ba80d22788f0"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b74ffb4-c225-4251-9ae1-9af3c0eec6b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.123429} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074663,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8c16b171d58e0e983c92ba80d22788f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832173,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3M30.uCN1sJ8uLOsXnfJwMwMuHFN7LEi_lT_tcO2B6SSybvs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c16b171d58e0e983c92ba80d22788f0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.00951,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"714ee550-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"714ee550-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.658095647Z"}]},"request_id":"9424b3c3-43d5-4810-8e60-49f94c6f1f17","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.127735} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"714ee550-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8c16b171d58e0e983c92ba80d22788f0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling 200 36ms","method":"POST","requestID":"714ee550-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Building connection plan","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9c76ae08-9ab2-47a4-bbe8-c4a541464925"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e7d7d219-fa87-462e-858a-08f18e5a638c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"60413892-9a4b-47d0-8bb0-e14fe289bd11"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c16b171d58e0e983c92ba80d22788f0"} gateway-1 | {"time_local":"24/Mar/2025:16:02:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c16b171d58e0e983c92ba80d22788f0"} device-1 | {"level":"info","message":"GET /devices/a888855b-93be-4315-85d1-75170d24aa94? 200 36ms","method":"GET","requestID":"8c16b171d58e0e983c92ba80d22788f0","responseTime":36,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3M30.uCN1sJ8uLOsXnfJwMwMuHFN7LEi_lT_tcO2B6SSybvs","level":"info","message":"auth send jwt","requestID":"9614732edd3e8ddfee6ea5c1b44caac0"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.794323,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9614732edd3e8ddfee6ea5c1b44caac0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832172,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Mn0.ix3WDkhvI829vx4IfGZ421SlEvVdnugBtEdgoFnPubE"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9614732edd3e8ddfee6ea5c1b44caac0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91832,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9614732edd3e8ddfee6ea5c1b44caac0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832173,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3M30.uCN1sJ8uLOsXnfJwMwMuHFN7LEi_lT_tcO2B6SSybvs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9614732edd3e8ddfee6ea5c1b44caac0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:51.700558154Z"}]},"request_id":"aa1cda5d-965b-463a-b88b-109e3fc2d03c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.1450477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9614732edd3e8ddfee6ea5c1b44caac0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9614732edd3e8ddfee6ea5c1b44caac0"} gateway-1 | {"time_local":"24/Mar/2025:16:02:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9614732edd3e8ddfee6ea5c1b44caac0"} device-1 | {"level":"info","message":"GET /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a? 200 36ms","method":"GET","requestID":"9614732edd3e8ddfee6ea5c1b44caac0","responseTime":36,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"b4f2fd73-4730-45ae-a253-7018fffaaece","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.1485863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8692ad5-ddb0-415b-9cd4-5027e3430d41","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.1730754} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae'","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae'","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 109ms","method":"POST","requestID":"7154d8c0-08c9-11f0-a656-5b8621d22e82","responseTime":109,"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":"7154d8c0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9b0f9a7b12d12316db40fe5cbca9594b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"716a3580-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02a36e1e-3ee0-41e0-8792-f93095b7245b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.2771513} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.955261,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"716a3580-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","rebac_allow":false,"scope_allow":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":"716a3580-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"716a3580-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/signaling 200 10ms","method":"POST","requestID":"716a3580-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"716c3150-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6245022f-9a36-4404-97ca-c1d17f1741ae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832173.289417} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.254107,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"716c3150-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","rebac_allow":false,"scope_allow":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":"716c3150-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"716c3150-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling 200 8ms","method":"POST","requestID":"716c3150-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling"} device-1 | {"device":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/5eafade2-e616-4940-a9e6-8b38327600ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a425087e3aef701127396efc9bdd8b98","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":"a425087e3aef701127396efc9bdd8b98","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/a888855b-93be-4315-85d1-75170d24aa94"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"}}},"level":"info","message":"received a callback","requestID":"a425087e3aef701127396efc9bdd8b98"} device-1 | {"device":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 6ms","method":"POST","requestID":"a425087e3aef701127396efc9bdd8b98","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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":"a425087e3aef701127396efc9bdd8b98"} device-1 | {"device":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"5eafade2-e616-4940-a9e6-8b38327600ae","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/5eafade2-e616-4940-a9e6-8b38327600ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"94c57ebbeab5b13b785c41fe71afcc05","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":"94c57ebbeab5b13b785c41fe71afcc05","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/a888855b-93be-4315-85d1-75170d24aa94"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"}}},"level":"info","message":"received a callback","requestID":"94c57ebbeab5b13b785c41fe71afcc05"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"72a68610-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5eafade2-e616-4940-a9e6-8b38327600ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6b92195-4186-477e-bb7a-a31897afd88b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.3517268} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.187576,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72a68610-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae","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":"72a68610-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"72a68610-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae 200 11ms","method":"GET","requestID":"72a68610-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"94c57ebbeab5b13b785c41fe71afcc05","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"94c57ebbeab5b13b785c41fe71afcc05"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"72aa56a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8a0e086-4bfb-4c1b-bbac-f1977ab9df34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.374561} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.206243,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72aa56a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","rebac_allow":false,"scope_allow":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":"72aa56a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"72aa56a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/signaling 200 9ms","method":"POST","requestID":"72aa56a0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"72ac0450-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e76a8bb4-ef8f-42d3-b8c9-e1597a51e2fd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.3853276} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59777,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72ac0450-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","rebac_allow":false,"scope_allow":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":"72ac0450-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"72ac0450-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling 200 8ms","method":"POST","requestID":"72ac0450-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0","level":"info","message":"auth send jwt","requestID":"ff64f3e12da918e3e8861a10766c0233"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff64f3e12da918e3e8861a10766c0233","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","requestID":"ff64f3e12da918e3e8861a10766c0233"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.730839,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ff64f3e12da918e3e8861a10766c0233","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ff64f3e12da918e3e8861a10766c0233","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","requestID":"ff64f3e12da918e3e8861a10766c0233"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983 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":"ff64f3e12da918e3e8861a10766c0233"} experiment-1 | {"level":"info","message":"GET /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983 200 11ms","method":"GET","requestID":"ff64f3e12da918e3e8861a10766c0233","responseTime":11,"status":200,"url":"/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0","level":"info","message":"auth send jwt","requestID":"eda11adda1701e219e3bf80110f9303c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eda11adda1701e219e3bf80110f9303c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","requestID":"eda11adda1701e219e3bf80110f9303c"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.873583,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eda11adda1701e219e3bf80110f9303c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"eda11adda1701e219e3bf80110f9303c","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Attempting to finish experiment","requestID":"eda11adda1701e219e3bf80110f9303c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.225334,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a888855b-93be-4315-85d1-75170d24aa94","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"1d4025ef-9e1b-4511-8538-69a2c59d7e1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/5eafade2-e616-4940-a9e6-8b38327600ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"92b8c64606909777fb5d0a8069b12470","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":"92b8c64606909777fb5d0a8069b12470","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5eafade2-e616-4940-a9e6-8b38327600ae': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5eafade2-e616-4940-a9e6-8b38327600ae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"9c06ab8f-d368-499b-a866-e68450e241f9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.5213447} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"25cc3a5f41d024d092ce2c5eb7242ddf","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/a888855b-93be-4315-85d1-75170d24aa94"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"}}},"level":"info","message":"received a callback","requestID":"92b8c64606909777fb5d0a8069b12470"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"25cc3a5f41d024d092ce2c5eb7242ddf","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50a8af39-50c8-4e94-bbc6-eab0f81ab4a2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.5217543} 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/a888855b-93be-4315-85d1-75170d24aa94"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"}}},"level":"info","message":"received a callback","requestID":"25cc3a5f41d024d092ce2c5eb7242ddf"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"5eafade2-e616-4940-a9e6-8b38327600ae","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae 204 102ms","method":"DELETE","requestID":"72bb1f80-08c9-11f0-a656-5b8621d22e82","responseTime":102,"status":204,"url":"/peerconnections/5eafade2-e616-4940-a9e6-8b38327600ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"},"level":"info","message":"Successfully finished experiment","requestID":"eda11adda1701e219e3bf80110f9303c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"72ce0b40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa888855b-93be-4315-85d1-75170d24aa94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6445f90f-5b1c-42dd-b7a1-1e05246af5c2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.609359} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.313258,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72ce0b40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94","object_type":"device","rebac_allow":false,"scope_allow":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":"72ce0b40-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"72ce0b40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a888855b-93be-4315-85d1-75170d24aa94/signaling 200 10ms","method":"POST","requestID":"72ce0b40-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/a888855b-93be-4315-85d1-75170d24aa94/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"72d00710-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52c357b1-7d6d-498e-ab94-8f1602d39983': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F52c357b1-7d6d-498e-ab94-8f1602d39983","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"f1a91d2b-e0a3-41e9-bb83-a542d1c9eebd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.6174605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da17efd6-b1d5-4c05-80cd-37446f325ea6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.6177995} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"eda11adda1701e219e3bf80110f9303c","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d4025ef-9e1b-4511-8538-69a2c59d7e1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12c54ac4-0bed-4bd7-8839-8a066cc2ebf4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.6219356} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920559,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"72d00710-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a","object_type":"device","rebac_allow":false,"scope_allow":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":"72d00710-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"72d00710-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling 200 10ms","method":"POST","requestID":"72d00710-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/1d4025ef-9e1b-4511-8538-69a2c59d7e1a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983","requestID":"eda11adda1701e219e3bf80110f9303c"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.280","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eda11adda1701e219e3bf80110f9303c"} experiment-1 | {"level":"info","message":"DELETE /experiments/52c357b1-7d6d-498e-ab94-8f1602d39983 204 277ms","method":"DELETE","requestID":"eda11adda1701e219e3bf80110f9303c","responseTime":277,"status":204,"url":"/experiments/52c357b1-7d6d-498e-ab94-8f1602d39983"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.985","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"43a42d29e1621c007bf9d7c4df1d37fe"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2162","request_time":"2.968","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"7f029c34ee63deb41bff496d64f8adab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"92b8c64606909777fb5d0a8069b12470","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"92b8c64606909777fb5d0a8069b12470"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"25cc3a5f41d024d092ce2c5eb7242ddf","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:02: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.232","http_referrer":"","http_user_agent":"node-fetch","requestID":"25cc3a5f41d024d092ce2c5eb7242ddf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0","level":"info","message":"auth send jwt","requestID":"bc78de7dcc11cbc84d60e23680a11f8a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a888855b-93be-4315-85d1-75170d24aa94' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"bc78de7dcc11cbc84d60e23680a11f8a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811928,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bc78de7dcc11cbc84d60e23680a11f8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","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/1d4025ef-9e1b-4511-8538-69a2c59d7e1a' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F408c8f0e-eb6e-4f79-936d-5889c8e855d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ac9cfdb-7757-4b09-97a0-1993019afd21","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.774721} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea404413-e18f-44cc-8415-21404953606c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.7800193} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F408c8f0e-eb6e-4f79-936d-5889c8e855d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"6cd06aaa-3135-46bf-836e-35748cfa6862","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.8132827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"294a7cc9-b644-433d-ad94-1944305159b4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.8135934} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F408c8f0e-eb6e-4f79-936d-5889c8e855d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F408c8f0e-eb6e-4f79-936d-5889c8e855d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:55.813270465Z"}]},"request_id":"6bdff50c-0956-4302-913d-93ec122cd2ed","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.818534} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bc78de7dcc11cbc84d60e23680a11f8a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc78de7dcc11cbc84d60e23680a11f8a"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"bc78de7dcc11cbc84d60e23680a11f8a","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0","level":"info","message":"auth send jwt","requestID":"10b8eeb01b221cfe1f4f60ada3720c14"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"10b8eeb01b221cfe1f4f60ada3720c14"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.807147,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"10b8eeb01b221cfe1f4f60ada3720c14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbbf102-9c62-4e86-8e80-442c50e42dbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"394948fc-6b2c-4304-9ac1-403bdcf0a57a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.9122818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a47bc977-f99f-4253-8ed3-bbe6df42dd78","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.9179113} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbbf102-9c62-4e86-8e80-442c50e42dbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d7c96fe8-6abf-4ff6-91a2-a049992318e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.9533567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"938259c7-1810-4b5b-88ec-68b67a85e81c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.9536433} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","responseTime":38,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbbf102-9c62-4e86-8e80-442c50e42dbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafbbf102-9c62-4e86-8e80-442c50e42dbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:55.953343913Z"}]},"request_id":"3a0b97c9-52f1-4634-bc52-28efd9a2fa30","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832175.9582572} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"10b8eeb01b221cfe1f4f60ada3720c14"} device-1 | {"level":"info","message":"POST /devices? 201 133ms","method":"POST","requestID":"10b8eeb01b221cfe1f4f60ada3720c14","responseTime":133,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10b8eeb01b221cfe1f4f60ada3720c14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0","level":"info","message":"auth send jwt","requestID":"bb635b6a7b7d0f57e109f488977bf40d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb635b6a7b7d0f57e109f488977bf40d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb635b6a7b7d0f57e109f488977bf40d"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.728323,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bb635b6a7b7d0f57e109f488977bf40d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832175,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3NX0.frvqeSeeOMJWIGO5m3rkQCQ-q38XiVDKOCEvuCyetc0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23cad54-fdde-4b06-8f41-60a7566dceed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9354e91-b97d-4b01-aeaa-c3cb07c5b7ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0075324} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04ea970a-4982-4dd0-858e-98b2b2fc8fca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0116231} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23cad54-fdde-4b06-8f41-60a7566dceed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"75014b43-38b3-4a54-8282-9ea6ee38aa04","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0211618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fd92fcf-f734-4d55-9a73-62f6fa47818e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.021372} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23cad54-fdde-4b06-8f41-60a7566dceed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23cad54-fdde-4b06-8f41-60a7566dceed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.021149393Z"}]},"request_id":"bd51c4f4-fc07-42f3-9f42-bf5ab5ba821d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0489283} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb635b6a7b7d0f57e109f488977bf40d"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb635b6a7b7d0f57e109f488977bf40d"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"bb635b6a7b7d0f57e109f488977bf40d","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"eddf95d9531a448b64c04612d98d8abf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eddf95d9531a448b64c04612d98d8abf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eddf95d9531a448b64c04612d98d8abf"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.743572,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eddf95d9531a448b64c04612d98d8abf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7953e009-04ec-47eb-9f55-c05305a024c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d9af0624-68a9-4861-a129-71085b63a9db","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0711083} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c17b35df-fd9a-475c-830e-7f57dd3f7200","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.0752702} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7953e009-04ec-47eb-9f55-c05305a024c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"06f4af8a-aa98-4c4c-8e76-5827b6e6fe43","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.107273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31a09fbc-514a-4e26-8711-c19a717c3de0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.1075768} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","responseTime":35,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7953e009-04ec-47eb-9f55-c05305a024c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7953e009-04ec-47eb-9f55-c05305a024c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.107261242Z"}]},"request_id":"84e553c0-d154-4c57-9dfa-ae57a270436b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.1122901} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eddf95d9531a448b64c04612d98d8abf"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eddf95d9531a448b64c04612d98d8abf"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"eddf95d9531a448b64c04612d98d8abf","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"e1f3dc5218a5216d912fab7402b7393a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1f3dc5218a5216d912fab7402b7393a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e1f3dc5218a5216d912fab7402b7393a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707517,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e1f3dc5218a5216d912fab7402b7393a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb62213e7-8bf4-4f55-b204-01ac1df75469","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f63d4e5-ea8c-4066-a56d-0c82903369bd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.2016165} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62608ab5-70f2-47a5-a359-8b72806c33d9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.2058744} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb62213e7-8bf4-4f55-b204-01ac1df75469","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"2d4e288e-81b3-4b23-a410-61be41b687b0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.2671866} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b70a26f-a46e-4f25-b422-bb314aa53821","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.2674463} authorization-1 | {"level":"info","message":"POST /relations/update 200 84ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","responseTime":84,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb62213e7-8bf4-4f55-b204-01ac1df75469","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb62213e7-8bf4-4f55-b204-01ac1df75469","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.267170257Z"}]},"request_id":"8f1dc5b9-d83b-4217-bd31-2a3eccf0e056","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.2929943} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e1f3dc5218a5216d912fab7402b7393a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1f3dc5218a5216d912fab7402b7393a"} device-1 | {"level":"info","message":"POST /devices? 201 176ms","method":"POST","requestID":"e1f3dc5218a5216d912fab7402b7393a","responseTime":176,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"c0044a9072f493adc84419770288f593"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0044a9072f493adc84419770288f593","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c0044a9072f493adc84419770288f593"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.617086,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c0044a9072f493adc84419770288f593","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6faeacb-f139-4810-81fb-92388c437efe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd235722-0d0c-4710-a8f4-4f065fb16ecb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.4070003} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99750b46-50f8-4a08-aafd-35c80ef7e493","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.4362085} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6faeacb-f139-4810-81fb-92388c437efe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"eda2d684-c777-4e12-ba63-000af252686d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.4784548} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a65f9fa0-e74a-4998-893e-c239ec13069f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.4787714} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","responseTime":45,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6faeacb-f139-4810-81fb-92388c437efe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6faeacb-f139-4810-81fb-92388c437efe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.478428363Z"}]},"request_id":"8b49410a-9d7a-41b0-9c13-659651e40e24","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.4835515} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c0044a9072f493adc84419770288f593"} device-1 | {"level":"info","message":"POST /devices? 201 185ms","method":"POST","requestID":"c0044a9072f493adc84419770288f593","responseTime":185,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0044a9072f493adc84419770288f593"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"dd507e5b8d82030c4de855e828b470a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd507e5b8d82030c4de855e828b470a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dd507e5b8d82030c4de855e828b470a5"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.22178,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dd507e5b8d82030c4de855e828b470a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63f5a3a5-0a50-438e-8a01-5a14b45e4b64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ca5a6be-f239-4b6c-a48c-690b4a030b11","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.511956} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b02963e-c221-4dc1-bb2e-6d10461c377e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.5169594} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63f5a3a5-0a50-438e-8a01-5a14b45e4b64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d28decfa-0f96-4ce1-acb6-fed45649d2a5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.5262628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82b88e39-114f-4723-8c29-b3949ce329d2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.526467} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63f5a3a5-0a50-438e-8a01-5a14b45e4b64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63f5a3a5-0a50-438e-8a01-5a14b45e4b64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.526241365Z"}]},"request_id":"42579245-a4f7-4f2b-bf28-37fe81fbc3ab","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.5316563} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dd507e5b8d82030c4de855e828b470a5"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"dd507e5b8d82030c4de855e828b470a5","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd507e5b8d82030c4de855e828b470a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.089558,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99c312e6-48a7-4ff3-972b-09ce9b7c4af7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"490576bd-7657-4922-9f92-2bab5ac473b8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.5843318} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d08e356-5c22-4a9f-bfbc-2c665f3841f5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.5884337} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99c312e6-48a7-4ff3-972b-09ce9b7c4af7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"222aae08-634e-486e-8c96-9586665c615c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6007192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ff9cb1a-ea90-4aa0-9229-02611b302ace","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6250284} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","responseTime":39,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99c312e6-48a7-4ff3-972b-09ce9b7c4af7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99c312e6-48a7-4ff3-972b-09ce9b7c4af7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.600706126Z"}]},"request_id":"41a81a47-1114-47ee-9886-2615b5c308c8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.628614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f","responseTime":89,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82f75c0bfb2e9c8200e360a0d54fcd4f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"1ff9803e8ddc683d38448a7eeef62867"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ff9803e8ddc683d38448a7eeef62867","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1ff9803e8ddc683d38448a7eeef62867"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.863721,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1ff9803e8ddc683d38448a7eeef62867","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"de713d8e-6b97-4bca-88b4-806d31525cc2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6762178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26bae132-ef38-4f13-ac66-120b44f43805","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6799605} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"b3110e4b-3bed-4487-ba38-7c0789bf88f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.689895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9978ad1f-8c4b-483a-9246-1d0ff97cab27","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6901317} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.689870880Z"}]},"request_id":"cb1006ee-5935-4c76-8bf3-ba7892d7d0cf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.6937613} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1ff9803e8ddc683d38448a7eeef62867"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"1ff9803e8ddc683d38448a7eeef62867","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +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":"1ff9803e8ddc683d38448a7eeef62867"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"a119ad251699017d1209e9b9d4f8afa3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a119ad251699017d1209e9b9d4f8afa3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a119ad251699017d1209e9b9d4f8afa3"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.89034,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a119ad251699017d1209e9b9d4f8afa3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589fa73b-7841-4754-8ee8-33db4ca59c8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad5a3820-2c54-4f95-8d5b-2dfc71b3f688","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.73656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27055ffa-cdc7-4a3f-8fd3-b61a36c91bbc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.7401655} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589fa73b-7841-4754-8ee8-33db4ca59c8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a5b456e5-1744-4376-9a48-8896b0b54a4a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.7730088} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7893a23-3e40-419d-869c-53dce93b0913","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.773228} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589fa73b-7841-4754-8ee8-33db4ca59c8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589fa73b-7841-4754-8ee8-33db4ca59c8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.772993400Z"}]},"request_id":"88d900ed-06db-4a9e-9460-41a9ebcac426","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.7776103} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a119ad251699017d1209e9b9d4f8afa3"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"a119ad251699017d1209e9b9d4f8afa3","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a119ad251699017d1209e9b9d4f8afa3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"ae0fbfb7a41c0389caace6e0c847840a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ae0fbfb7a41c0389caace6e0c847840a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ae0fbfb7a41c0389caace6e0c847840a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.697386,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae0fbfb7a41c0389caace6e0c847840a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30801b33-8ef6-4cec-94cf-9ea4fd848657","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.8249488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c7857b6-455e-450f-9a2a-8a6cfc1dcfa4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.8288965} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"abde5bf8-dfd6-4abd-b2e2-237d0b1ba079","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.8388882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8937fd8-45dc-4e40-8923-9b4d81214017","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.8389735} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.838874106Z"}]},"request_id":"00a8c3b7-7aad-45a4-b606-b43c2a8fca5a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.870742} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ae0fbfb7a41c0389caace6e0c847840a"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae0fbfb7a41c0389caace6e0c847840a"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"ae0fbfb7a41c0389caace6e0c847840a","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"0f3f40f24840cb0548d258b48158c6d0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f3f40f24840cb0548d258b48158c6d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0f3f40f24840cb0548d258b48158c6d0"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.641931,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0f3f40f24840cb0548d258b48158c6d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"223474ca-a10a-4e6d-be3d-c4f8726c20e1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9244592} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3a6719e-3174-4230-93e4-48a2fa11dc9d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.929004} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"00f76a91-3de1-4b7f-bbc8-770cab648395","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.93891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ecb60f03-16ff-499a-856b-934243d1f6ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9389699} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.938889095Z"}]},"request_id":"48794c8c-a0a5-4225-adba-a0d565a559c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9428082} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0f3f40f24840cb0548d258b48158c6d0"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f3f40f24840cb0548d258b48158c6d0"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"0f3f40f24840cb0548d258b48158c6d0","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"44aae11b3f070f65c3d2160f98f5c983"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44aae11b3f070f65c3d2160f98f5c983","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"44aae11b3f070f65c3d2160f98f5c983"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.671454,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"44aae11b3f070f65c3d2160f98f5c983","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2e62f4c7-0d2b-4dc0-b5db-627aa5b77c28","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.96695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32705207-d003-47a9-b0f9-0c0ec13e165f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9723525} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"560a528a-66fa-4a8e-8912-c15d2045e3a8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9819973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ecf023a-e6a0-4c81-8a99-ed6735d65973","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9821534} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"44aae11b3f070f65c3d2160f98f5c983"} gateway-1 | {"time_local":"24/Mar/2025:16:02:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44aae11b3f070f65c3d2160f98f5c983"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU","level":"info","message":"auth send jwt","requestID":"58f910f1e4ade56bc3a537eafed3cfd9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"58f910f1e4ade56bc3a537eafed3cfd9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.981977229Z"}]},"request_id":"6d000e16-3445-45b5-834d-f4693b3833da","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832176.9861443} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"44aae11b3f070f65c3d2160f98f5c983","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586604,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"58f910f1e4ade56bc3a537eafed3cfd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832176,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3Nn0.mjYX49JbyvedX9o2gqlQA5M0dj9MCZciDDmP2xlltzU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.838874106Z"}]},"request_id":"56827bef-11fd-4ed9-92e7-fb1c113dd178","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.004222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ff7c4f5-5b1c-4298-b82e-7697f505b63d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.009661} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.838874106Z"}]},"request_id":"4101ac91-6b37-4104-983b-657ab4ea335b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.0204706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"58f910f1e4ade56bc3a537eafed3cfd9"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58f910f1e4ade56bc3a537eafed3cfd9"} device-1 | {"level":"info","message":"PATCH /devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca? 200 30ms","method":"PATCH","requestID":"58f910f1e4ade56bc3a537eafed3cfd9","responseTime":30,"status":200,"url":"/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714677,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.938889095Z"}]},"request_id":"62f1fe13-7cef-4066-9986-ebfd707a59dc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.0591848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4480dcbc-8710-4b89-a123-514cbb529d6a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.064364} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.938889095Z"}]},"request_id":"e2bcf8c0-cb4a-444b-9ddf-1b8171eb9b46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.0739112} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/059dfc38-a60e-482e-bfc0-dfb107062bb1? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4"} device-1 | {"level":"info","message":"PATCH /devices/059dfc38-a60e-482e-bfc0-dfb107062bb1? 200 46ms","method":"PATCH","requestID":"1492a9c7c114a1274e1f1c7dfbda60e4","responseTime":46,"status":200,"url":"/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"b911a19d7938a630f11aa62d0a5f260a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b911a19d7938a630f11aa62d0a5f260a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b911a19d7938a630f11aa62d0a5f260a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69054,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b911a19d7938a630f11aa62d0a5f260a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b911a19d7938a630f11aa62d0a5f260a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.981977229Z"}]},"request_id":"e2c07ffd-b3ea-4dd1-8cd1-eaaa7c8ec97c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.1145687} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b911a19d7938a630f11aa62d0a5f260a","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5375ec1-135e-4af4-9324-a36dbd2bccca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.1193342} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b911a19d7938a630f11aa62d0a5f260a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.981977229Z"}]},"request_id":"3abb6625-e7c4-4e54-9831-dd7f4cd662e2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.1310792} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b911a19d7938a630f11aa62d0a5f260a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b911a19d7938a630f11aa62d0a5f260a"} device-1 | {"level":"info","message":"PATCH /devices/2a9f26a7-c65a-4964-96e2-415a363732b5? 200 74ms","method":"PATCH","requestID":"b911a19d7938a630f11aa62d0a5f260a","responseTime":74,"status":200,"url":"/devices/2a9f26a7-c65a-4964-96e2-415a363732b5?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2a9f26a7-c65a-4964-96e2-415a363732b5? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b911a19d7938a630f11aa62d0a5f260a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759992,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cc9b4ea-4616-482e-8b98-8e991a6780ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.838874106Z"}]},"request_id":"95ab146b-0ca8-4b34-a157-3a2b6d2a9bf2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.1668189} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682177,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.593159,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/408c8f0e-eb6e-4f79-936d-5889c8e855d3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/408c8f0e-eb6e-4f79-936d-5889c8e855d3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afbbf102-9c62-4e86-8e80-442c50e42dbd","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/afbbf102-9c62-4e86-8e80-442c50e42dbd","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69304,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596746,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23cad54-fdde-4b06-8f41-60a7566dceed","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d23cad54-fdde-4b06-8f41-60a7566dceed","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06"} device-1 | {"level":"info","message":"GET /devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca? 200 45ms","method":"GET","requestID":"a9a96ce3cd3a5a389c56d4e8a6d55e06","responseTime":45,"status":200,"url":"/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"b644fbdef0fd2170153017f5b7afbba4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b644fbdef0fd2170153017f5b7afbba4"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735612,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F059dfc38-a60e-482e-bfc0-dfb107062bb1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.938889095Z"}]},"request_id":"e161289c-6f38-422f-bb6b-d8625126cf61","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.2166953} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601828,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738478,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7953e009-04ec-47eb-9f55-c05305a024c4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7953e009-04ec-47eb-9f55-c05305a024c4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b62213e7-8bf4-4f55-b204-01ac1df75469","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b62213e7-8bf4-4f55-b204-01ac1df75469","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.624514,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":21.915438,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6faeacb-f139-4810-81fb-92388c437efe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6faeacb-f139-4810-81fb-92388c437efe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283175,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849931,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63f5a3a5-0a50-438e-8a01-5a14b45e4b64","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b644fbdef0fd2170153017f5b7afbba4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/63f5a3a5-0a50-438e-8a01-5a14b45e4b64","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b644fbdef0fd2170153017f5b7afbba4"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/059dfc38-a60e-482e-bfc0-dfb107062bb1? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b644fbdef0fd2170153017f5b7afbba4"} device-1 | {"level":"info","message":"GET /devices/059dfc38-a60e-482e-bfc0-dfb107062bb1? 200 48ms","method":"GET","requestID":"b644fbdef0fd2170153017f5b7afbba4","responseTime":48,"status":200,"url":"/devices/059dfc38-a60e-482e-bfc0-dfb107062bb1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"9ccb07d4489ef537f95072d68ebca710"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ccb07d4489ef537f95072d68ebca710"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667567,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ccb07d4489ef537f95072d68ebca710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/2a9f26a7-c65a-4964-96e2-415a363732b5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a9f26a7-c65a-4964-96e2-415a363732b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:56.981977229Z"}]},"request_id":"80d15e8b-315b-4573-a776-a4402f5d2135","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.2698498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57952","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594136,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:57942","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.487055,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.479285,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99c312e6-48a7-4ff3-972b-09ce9b7c4af7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ccb07d4489ef537f95072d68ebca710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99c312e6-48a7-4ff3-972b-09ce9b7c4af7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ccb07d4489ef537f95072d68ebca710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/2a0be4b0-f2f9-410d-a2da-6e7e9e768ab9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/589fa73b-7841-4754-8ee8-33db4ca59c8a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ccb07d4489ef537f95072d68ebca710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/589fa73b-7841-4754-8ee8-33db4ca59c8a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730235,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ccb07d4489ef537f95072d68ebca710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9cc9b4ea-4616-482e-8b98-8e991a6780ca","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ccb07d4489ef537f95072d68ebca710"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a9f26a7-c65a-4964-96e2-415a363732b5? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ccb07d4489ef537f95072d68ebca710"} device-1 | {"level":"info","message":"GET /devices/2a9f26a7-c65a-4964-96e2-415a363732b5? 200 44ms","method":"GET","requestID":"9ccb07d4489ef537f95072d68ebca710","responseTime":44,"status":200,"url":"/devices/2a9f26a7-c65a-4964-96e2-415a363732b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"23aab95d1405b21e9847ebc111a69598"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23aab95d1405b21e9847ebc111a69598","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"23aab95d1405b21e9847ebc111a69598"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.699707,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"23aab95d1405b21e9847ebc111a69598","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7fb0900a-0573-4e71-96e2-d90d4c42694d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.3585658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8d806ce-8a74-4aad-90c7-0242de35bbe8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.3624382} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"6ae918f0-4290-4b50-a5d1-f0060587c314","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.3969128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67e8cae1-9972-41f1-bcef-f06814b65eb6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.3970823} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","responseTime":37,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.396898299Z"}]},"request_id":"985e3d7a-bdbb-4448-b505-3ade15a30377","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.400651} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"23aab95d1405b21e9847ebc111a69598"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"23aab95d1405b21e9847ebc111a69598","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23aab95d1405b21e9847ebc111a69598"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"80631bf11201022ed2cd5b3ef96eb05e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80631bf11201022ed2cd5b3ef96eb05e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"80631bf11201022ed2cd5b3ef96eb05e"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.663657,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"80631bf11201022ed2cd5b3ef96eb05e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2f213343-776f-47e0-bec9-1cb1a10e07ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.4441237} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1db3484f-7b04-48f1-a56b-ea27f6760907","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.4477758} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a17fc02b-8118-4d6a-a076-44cff93bfaf8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.459829} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e60dc0f-d0d4-4b20-a722-5b628fe80919","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.459925} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.459814086Z"}]},"request_id":"e5088b52-1441-443b-9aac-089ca2f96e85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.4637349} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"80631bf11201022ed2cd5b3ef96eb05e"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"80631bf11201022ed2cd5b3ef96eb05e","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80631bf11201022ed2cd5b3ef96eb05e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw","level":"info","message":"auth send jwt","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832177,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3N30.2DabdRvnVeubFqLr_xbjlRv2wOZhVuwcuLX8WR-z0yw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1465f394-15ea-4f98-8bd1-231f13d3aabc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.4909854} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8bc10b9-6a73-40e2-b05c-176e1d3ede4c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.4952583} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"de5a113b-ed29-46c6-bf7c-dcaac3f95c96","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.5027041} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bec3293-6b93-4c5b-b0ba-9097c5e42a94","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.5029209} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.502683877Z"}]},"request_id":"a1eb5745-21a2-4cce-860f-cd30916d459f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832177.5082204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8"} gateway-1 | {"time_local":"24/Mar/2025:16:02:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"b20c5d627751dae53c0f5e60aa2f2bc8","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be783b87e0d0f4fb5ee6bdd2f33fedbf","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":"be783b87e0d0f4fb5ee6bdd2f33fedbf","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/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":"be783b87e0d0f4fb5ee6bdd2f33fedbf"} device-1 | {"level":"info","message":"OPTIONS /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/websocket 200 2ms","method":"OPTIONS","requestID":"be783b87e0d0f4fb5ee6bdd2f33fedbf","responseTime":2,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU","level":"info","message":"auth send jwt","requestID":"48f2855d9a9b94d6e234614a20259bc7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48f2855d9a9b94d6e234614a20259bc7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"48f2855d9a9b94d6e234614a20259bc7"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883236,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"48f2855d9a9b94d6e234614a20259bc7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"48f2855d9a9b94d6e234614a20259bc7","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"471e642b52010cecbe8e3b2701915703","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":"471e642b52010cecbe8e3b2701915703","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:02:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5abff6ce-2390-464c-9820-e0499f34b102/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":"471e642b52010cecbe8e3b2701915703"} device-1 | {"level":"info","message":"OPTIONS /devices/5abff6ce-2390-464c-9820-e0499f34b102/websocket 200 0ms","method":"OPTIONS","requestID":"471e642b52010cecbe8e3b2701915703","responseTime":0,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU","level":"info","message":"auth send jwt","requestID":"5cb14344579625ae8b6caea7a58d83fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5cb14344579625ae8b6caea7a58d83fa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5cb14344579625ae8b6caea7a58d83fa"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621581,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5cb14344579625ae8b6caea7a58d83fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5cb14344579625ae8b6caea7a58d83fa","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"48f2855d9a9b94d6e234614a20259bc7"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/websocket 200 40ms","method":"POST","requestID":"48f2855d9a9b94d6e234614a20259bc7","responseTime":40,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:02:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","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":"48f2855d9a9b94d6e234614a20259bc7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5cb14344579625ae8b6caea7a58d83fa"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/websocket 200 29ms","method":"POST","requestID":"5cb14344579625ae8b6caea7a58d83fa","responseTime":29,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:02:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/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":"5cb14344579625ae8b6caea7a58d83fa"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU","level":"info","message":"auth send jwt","requestID":"d359def145e3b46d040ab7e2229bb0bc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d359def145e3b46d040ab7e2229bb0bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d359def145e3b46d040ab7e2229bb0bc"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654023,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d359def145e3b46d040ab7e2229bb0bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d359def145e3b46d040ab7e2229bb0bc","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.502683877Z"}]},"request_id":"4f4b4151-2da7-4cdc-83a0-ceacb65710ce","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832179.8443987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d359def145e3b46d040ab7e2229bb0bc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d359def145e3b46d040ab7e2229bb0bc"} gateway-1 | {"time_local":"24/Mar/2025:16:02:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d359def145e3b46d040ab7e2229bb0bc"} device-1 | {"level":"info","message":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? 200 34ms","method":"GET","requestID":"d359def145e3b46d040ab7e2229bb0bc","responseTime":34,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU","level":"info","message":"auth send jwt","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.670192,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to run experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to book experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully booked experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"75633510-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846833,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683276,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75633510-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75633510-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b9626fe-35e2-4e03-8dc6-5a898bba7a7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.459814086Z"}]},"request_id":"95cf8214-8b10-43c4-b906-85778b28c3d8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832179.9438105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.502683877Z"}]},"request_id":"80ff4551-a042-4a48-8277-6f44347b1366","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832179.9445336} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"75633510-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"75633510-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? 200 12ms","method":"GET","requestID":"75633510-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102?"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74342,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:02:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/3b9626fe-35e2-4e03-8dc6-5a898bba7a7e? 200 41ms","method":"GET","requestID":"755f6480-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/3b9626fe-35e2-4e03-8dc6-5a898bba7a7e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Setting up experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully locked booking for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to update booking for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully updated booking for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully set up experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75720220-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301745,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully running experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703986,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.175512,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48a67a07-57a2-48df-bc5d-90047262b247","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0397625} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75720220-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","rebac_allow":false,"scope_allow":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":"75720220-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.396898299Z"}]},"request_id":"0f3d272e-e300-468b-884b-7ecd5a9f3aeb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.041609} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.502683877Z"}]},"request_id":"9c0e3a5a-1aa3-4acd-920e-1f2a34c0715f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0430446} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75720220-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling 200 16ms","method":"POST","requestID":"75720220-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f? 200 22ms","method":"GET","requestID":"75713ed0-08c9-11f0-a656-5b8621d22e82","responseTime":22,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F99b302f7-0bc3-445f-9113-ab3d0d9ded92#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F99b302f7-0bc3-445f-9113-ab3d0d9ded92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"cc8bab24-321d-4c98-b89c-aa2e4f9cc918","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0518482} device-1 | {"level":"info","message":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? 200 20ms","method":"GET","requestID":"75718cf0-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d0fd134-55b8-4d22-9e31-0c52b6c439df","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0520835} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7574e850-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7576bd10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adfafc25-978e-4f8a-b016-311288ea63a7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0730698} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0754343-1c31-44a2-bf11-ac3d7dd68a8a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.0740347} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.514489,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f","responseTime":222,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7576bd10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"7576bd10-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.141113,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7574e850-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"9f5569ff94b9e814dde82cf1482dc089"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f5569ff94b9e814dde82cf1482dc089","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"7574e850-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f5569ff94b9e814dde82cf1482dc089"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7576bd10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling 200 27ms","method":"POST","requestID":"7576bd10-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7574e850-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling 200 41ms","method":"POST","requestID":"7574e850-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.876978,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"757b50f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f5569ff94b9e814dde82cf1482dc089","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9f5569ff94b9e814dde82cf1482dc089","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56f63fa1-0b16-43a0-9484-4e920333683c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.1010296} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.802221,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"757b50f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","rebac_allow":false,"scope_allow":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":"757b50f0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.396898299Z"}]},"request_id":"e40a4e0c-9500-4a72-89f5-e41638648e7b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.1014628} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"9f5569ff94b9e814dde82cf1482dc089","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"757b50f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling 200 37ms","method":"POST","requestID":"757b50f0-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f5569ff94b9e814dde82cf1482dc089"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f5569ff94b9e814dde82cf1482dc089"} device-1 | {"level":"info","message":"GET /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f? 200 43ms","method":"GET","requestID":"9f5569ff94b9e814dde82cf1482dc089","responseTime":43,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Building connection plan","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1edcb1a5-3b11-45b6-9345-6c32f2b7810c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6836b00c-1ebe-48c9-a794-4142444669c6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9852359d-7a16-4d83-8d14-d51be7be6698"}]},"level":"info","message":"Built pairwise service configurations","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"24bef77fec2b18841b5237ed113b5118"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24bef77fec2b18841b5237ed113b5118","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"24bef77fec2b18841b5237ed113b5118"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.674461,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75819280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832179,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE3OX0.Gaay9Wg9rcfMrvqGBn8ooLb9B1pNSclOtJPulM4H7kU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75819280-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.819253,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"24bef77fec2b18841b5237ed113b5118","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24bef77fec2b18841b5237ed113b5118","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:02:57.502683877Z"}]},"request_id":"e8ead820-2528-42f3-9352-221f7fa9a9d3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.1471875} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"24bef77fec2b18841b5237ed113b5118","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"24bef77fec2b18841b5237ed113b5118"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7f39501b-273e-4cc2-9b78-f94571171275","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.1515777} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? 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":"24bef77fec2b18841b5237ed113b5118"} device-1 | {"level":"info","message":"GET /devices/5abff6ce-2390-464c-9820-e0499f34b102? 200 14ms","method":"GET","requestID":"24bef77fec2b18841b5237ed113b5118","responseTime":14,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51afa8c7-481d-4d3e-ae3a-d32a174a8623","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.151861} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"75819280-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875'","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875'","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 90ms","method":"POST","requestID":"75819280-08c9-11f0-a656-5b8621d22e82","responseTime":90,"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":"75819280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","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":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","device":"5abff6ce-2390-464c-9820-e0499f34b102","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/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"313cb5d5e9a1d54cbd4f2c4f26db4c0f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75973d60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b812278-6449-4dae-81e7-3e776e7baa42","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.2824023} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411637,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75973d60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","rebac_allow":false,"scope_allow":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":"75973d60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75973d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling 200 8ms","method":"POST","requestID":"75973d60-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7598eb10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfc6a093-b858-4f58-bb7a-e6d447d74cbf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.2931368} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.400729,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7598eb10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","rebac_allow":false,"scope_allow":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":"7598eb10-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7598eb10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling 200 35ms","method":"POST","requestID":"7598eb10-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling"} device-1 | {"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8040013886312845668 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:lv5g\r\na=ice-pwd:04XoiLwF9DqOHN2n6CJ0L/yy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 01:73:90:F5:69:F1:CC:6D:48:C6:5C:18:13:73:55:23:95:73:97:D1:DF:75:6A:4E:B7:B6:99:20:7C:81:F5:8C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4380803949896916356 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:cpnD\r\na=ice-pwd:ZKBUUP56wNRn7xwPykbYLW9e\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D4:1D:C6:DB:43:20:20:40:59:E3:80:5E:5B:48:29:B1:17:9A:A1:76:81:9D:58:33:17:8F:0E:8C:54:98:3A:15\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2527092883 1 udp 2113937151 de319a6f-a82c-4092-9528-3fe19ae9bd03.local 45107 typ host generation 0 ufrag cpnD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","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/e360d08a-cde1-4904-aef4-ec5cf830f05f'"} device-1 | {"content":{"candidate":"candidate:2416869422 1 udp 2113937151 55532769-9811-47df-8a1e-3e49cc0c3007.local 48629 typ host generation 0 ufrag lv5g network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","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/6dfb37e9-fe6b-4e70-8aa1-4f404939e875' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"becf9161c7efee584e68c8fc1d35aa5b","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":"becf9161c7efee584e68c8fc1d35aa5b","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5abff6ce-2390-464c-9820-e0499f34b102","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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"}}},"level":"info","message":"received a callback","requestID":"becf9161c7efee584e68c8fc1d35aa5b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"becf9161c7efee584e68c8fc1d35aa5b","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +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":"becf9161c7efee584e68c8fc1d35aa5b"} device-1 | {"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","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/6dfb37e9-fe6b-4e70-8aa1-4f404939e875' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4fc1cf5898059920fd049367582fcaa2","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":"4fc1cf5898059920fd049367582fcaa2","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/e360d08a-cde1-4904-aef4-ec5cf830f05f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"}}},"level":"info","message":"received a callback","requestID":"4fc1cf5898059920fd049367582fcaa2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"75b3ed20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6dfb37e9-fe6b-4e70-8aa1-4f404939e875","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7865d6d2-657f-4962-953e-93e2c0f2a6fe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.4706638} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.290759,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75b3ed20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","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":"75b3ed20-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"75b3ed20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875 200 8ms","method":"GET","requestID":"75b3ed20-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"dea46bf8e586f071335d9a4bfa468311"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"dea46bf8e586f071335d9a4bfa468311","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","requestID":"dea46bf8e586f071335d9a4bfa468311"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 75ms","method":"POST","requestID":"4fc1cf5898059920fd049367582fcaa2","responseTime":75,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +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.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"4fc1cf5898059920fd049367582fcaa2"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75bb8e40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.785223,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dea46bf8e586f071335d9a4bfa468311","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dea46bf8e586f071335d9a4bfa468311","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d79340a-405e-4b9d-87a2-b07c59514a2f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.5218046} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500046,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75bb8e40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","rebac_allow":false,"scope_allow":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":"75bb8e40-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","requestID":"dea46bf8e586f071335d9a4bfa468311"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dea46bf8e586f071335d9a4bfa468311"} experiment-1 | {"level":"info","message":"GET /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92 200 11ms","method":"GET","requestID":"dea46bf8e586f071335d9a4bfa468311","responseTime":11,"status":200,"url":"/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75bb8e40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling 200 9ms","method":"POST","requestID":"75bb8e40-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75bd8a10-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.636533,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8be49e16b197f2dbc1f1f4fc06511e5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c475ca0-f165-4765-a312-c2bff046e79f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.5339906} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276173,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75bd8a10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","rebac_allow":false,"scope_allow":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":"75bd8a10-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75bd8a10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling 200 34ms","method":"POST","requestID":"75bd8a10-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Attempting to finish experiment","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"75c30850-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.746951,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75c30850-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"75c30850-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","device":"5abff6ce-2390-464c-9820-e0499f34b102","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875","device":"e360d08a-cde1-4904-aef4-ec5cf830f05f","deviceName":"Internal Test Device","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/6dfb37e9-fe6b-4e70-8aa1-4f404939e875' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b6cba2e60d2585a90c701c4bd8133f4f","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":"b6cba2e60d2585a90c701c4bd8133f4f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c25e9f3de374b47773a5ad6f66f2edc","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/e360d08a-cde1-4904-aef4-ec5cf830f05f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"}}},"level":"info","message":"received a callback","requestID":"b6cba2e60d2585a90c701c4bd8133f4f"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6dfb37e9-fe6b-4e70-8aa1-4f404939e875': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6dfb37e9-fe6b-4e70-8aa1-4f404939e875","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"dfe764cf-b492-4c51-b2bd-ac2448a1e96a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.5815468} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"7c25e9f3de374b47773a5ad6f66f2edc","responseTime":0,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5739da49-f1a0-4792-9e0d-ab9a7d11296e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.5818484} 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/e360d08a-cde1-4904-aef4-ec5cf830f05f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"}}},"level":"info","message":"received a callback","requestID":"7c25e9f3de374b47773a5ad6f66f2edc"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"75c30850-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"6dfb37e9-fe6b-4e70-8aa1-4f404939e875","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"75c30850-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875 204 61ms","method":"DELETE","requestID":"75c30850-08c9-11f0-a656-5b8621d22e82","responseTime":61,"status":204,"url":"/peerconnections/6dfb37e9-fe6b-4e70-8aa1-4f404939e875"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"},"level":"info","message":"Successfully finished experiment","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75d1fc70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe360d08a-cde1-4904-aef4-ec5cf830f05f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9349982a-2dc1-4e71-b826-4bd157feda86","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.667581} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422875,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75d1fc70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f","object_type":"device","rebac_allow":false,"scope_allow":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":"75d1fc70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75d1fc70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling 200 8ms","method":"POST","requestID":"75d1fc70-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/e360d08a-cde1-4904-aef4-ec5cf830f05f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75d3aa20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F99b302f7-0bc3-445f-9113-ab3d0d9ded92': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F99b302f7-0bc3-445f-9113-ab3d0d9ded92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"9a48e4e7-c9ca-4070-b794-769eca7aa1bc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.6755362} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"976a65c3-130b-4ee1-b72c-04991b9c2c54","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.6757545} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5abff6ce-2390-464c-9820-e0499f34b102","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86dee622-4e14-4dde-9aee-e0faebd5da50","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.6787307} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.050351,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"75d3aa20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102","object_type":"device","rebac_allow":false,"scope_allow":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":"75d3aa20-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75d3aa20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling 200 9ms","method":"POST","requestID":"75d3aa20-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/5abff6ce-2390-464c-9820-e0499f34b102/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f"} experiment-1 | {"level":"info","message":"DELETE /experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92 204 275ms","method":"DELETE","requestID":"8be49e16b197f2dbc1f1f4fc06511e5f","responseTime":275,"status":204,"url":"/experiments/99b302f7-0bc3-445f-9113-ab3d0d9ded92"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 226ms","method":"POST","requestID":"b6cba2e60d2585a90c701c4bd8133f4f","responseTime":226,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +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.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6cba2e60d2585a90c701c4bd8133f4f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 226ms","method":"POST","requestID":"7c25e9f3de374b47773a5ad6f66f2edc","responseTime":226,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +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.229","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c25e9f3de374b47773a5ad6f66f2edc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"4c5e686fa1a1ee858be402dbdcaac257"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c5e686fa1a1ee858be402dbdcaac257","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4c5e686fa1a1ee858be402dbdcaac257"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.021","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":"ade763868508e5f7855c3b77464ad61e"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968801,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4c5e686fa1a1ee858be402dbdcaac257","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.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":"bead3887f069cae8d14fde0ecfbedc37"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5abff6ce-2390-464c-9820-e0499f34b102' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1642676c-5574-434d-a9d0-03b6dce4b33f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.854508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","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/e360d08a-cde1-4904-aef4-ec5cf830f05f' 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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3129e3ce-f30c-4036-9548-5c0d65dbe24f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.8594792} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"cf37ebe1-b17f-4385-b9ab-dfe874340000","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.868862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63415b1c-017c-47d1-b224-b1b8556351b3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.86903} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"cd22d6e9-d4f8-40d2-8a68-3c61c638fb8b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.873004} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4c5e686fa1a1ee858be402dbdcaac257"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c5e686fa1a1ee858be402dbdcaac257"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"4c5e686fa1a1ee858be402dbdcaac257","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA","level":"info","message":"auth send jwt","requestID":"0e27ef4fa17565ad4317ad4b58befff6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e27ef4fa17565ad4317ad4b58befff6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e27ef4fa17565ad4317ad4b58befff6"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703215,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0e27ef4fa17565ad4317ad4b58befff6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832180,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MH0.sgSIeNa_m_JJA_ALroG2Aoy4LHI3XJNivDg_Gr-JZgA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36b57964-d3dc-447d-83c5-731a4fa68ef7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.8951797} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"762f9e60-c603-403a-b278-f9cf01654759","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.89944} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"890a8514-ee81-4e1b-be83-545141ff8361","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.909643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3617e912-78dc-4d68-a7b6-518feddb127b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.9098024} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.909625924Z"}]},"request_id":"26ac5879-ca14-4e20-97df-3d00bfbaf785","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832180.9130807} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e27ef4fa17565ad4317ad4b58befff6"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"0e27ef4fa17565ad4317ad4b58befff6","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e27ef4fa17565ad4317ad4b58befff6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MX0.4lkghXEmggUXP9zoUMUApa4dKrO99S0TAXUHmTIAUSU","level":"info","message":"auth send jwt","requestID":"2e5c6634693214a1c4c03d221649edc0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e5c6634693214a1c4c03d221649edc0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2e5c6634693214a1c4c03d221649edc0"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939185,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2e5c6634693214a1c4c03d221649edc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832181,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MX0.4lkghXEmggUXP9zoUMUApa4dKrO99S0TAXUHmTIAUSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e5c6634693214a1c4c03d221649edc0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"662bb639-1ea9-4b42-8601-e47a625dcb28","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832181.7842767} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2e5c6634693214a1c4c03d221649edc0","responseTime":27,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2565acb5-b878-46fd-97e5-7cb161c078aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832181.813644} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2e5c6634693214a1c4c03d221649edc0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"ad75acda-15d7-4045-ae7b-dea934dea65b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832181.8309054} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e5c6634693214a1c4c03d221649edc0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2e5c6634693214a1c4c03d221649edc0"} device-1 | {"level":"info","message":"PATCH /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3 200 84ms","method":"PATCH","requestID":"2e5c6634693214a1c4c03d221649edc0","responseTime":84,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"} gateway-1 | {"time_local":"24/Mar/2025:16:03:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.088","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2e5c6634693214a1c4c03d221649edc0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MX0.4lkghXEmggUXP9zoUMUApa4dKrO99S0TAXUHmTIAUSU","level":"info","message":"auth send jwt","requestID":"078eb25437d5019166e2c025b9fb66ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"078eb25437d5019166e2c025b9fb66ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"078eb25437d5019166e2c025b9fb66ed"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731196,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"078eb25437d5019166e2c025b9fb66ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832181,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4MX0.4lkghXEmggUXP9zoUMUApa4dKrO99S0TAXUHmTIAUSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"078eb25437d5019166e2c025b9fb66ed","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"078eb25437d5019166e2c025b9fb66ed"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/websocket 200 13ms","method":"POST","requestID":"078eb25437d5019166e2c025b9fb66ed","responseTime":13,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"078eb25437d5019166e2c025b9fb66ed"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3670558cf16c1f0fb6672013cfbdabb","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":"b3670558cf16c1f0fb6672013cfbdabb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/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":"b3670558cf16c1f0fb6672013cfbdabb"} device-1 | {"level":"info","message":"OPTIONS /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/websocket 200 1ms","method":"OPTIONS","requestID":"b3670558cf16c1f0fb6672013cfbdabb","responseTime":1,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"6bac967b81ef71bc9643dd3c91c727b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6bac967b81ef71bc9643dd3c91c727b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6bac967b81ef71bc9643dd3c91c727b6"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.508241,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6bac967b81ef71bc9643dd3c91c727b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6bac967b81ef71bc9643dd3c91c727b6","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6bac967b81ef71bc9643dd3c91c727b6"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/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":"6bac967b81ef71bc9643dd3c91c727b6"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/websocket 200 36ms","method":"POST","requestID":"6bac967b81ef71bc9643dd3c91c727b6","responseTime":36,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"14e8582edfcce8e52d86d1605ca4d24a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"14e8582edfcce8e52d86d1605ca4d24a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"14e8582edfcce8e52d86d1605ca4d24a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18263,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"14e8582edfcce8e52d86d1605ca4d24a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"14e8582edfcce8e52d86d1605ca4d24a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"eb6256e5-6403-432b-9c0f-e4db5740a0ff","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.2710414} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"14e8582edfcce8e52d86d1605ca4d24a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"14e8582edfcce8e52d86d1605ca4d24a"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 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":"14e8582edfcce8e52d86d1605ca4d24a"} device-1 | {"level":"info","message":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 200 17ms","method":"GET","requestID":"14e8582edfcce8e52d86d1605ca4d24a","responseTime":17,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"e653f938136a4cc9a7658657c80c5ccf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e653f938136a4cc9a7658657c80c5ccf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e653f938136a4cc9a7658657c80c5ccf"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690308,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e653f938136a4cc9a7658657c80c5ccf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e653f938136a4cc9a7658657c80c5ccf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.909625924Z"}]},"request_id":"f51e083d-3f7b-484b-b42f-4c678292d77d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.2889774} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e653f938136a4cc9a7658657c80c5ccf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e653f938136a4cc9a7658657c80c5ccf"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? 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":"e653f938136a4cc9a7658657c80c5ccf"} device-1 | {"level":"info","message":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? 200 13ms","method":"GET","requestID":"e653f938136a4cc9a7658657c80c5ccf","responseTime":13,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e8fb5c35112373acc45d6b0beaffb8a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.043893,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1e8fb5c35112373acc45d6b0beaffb8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e8fb5c35112373acc45d6b0beaffb8a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to run experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to book experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully booked experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901674,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936262,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"0699b9d1-3877-47a9-8a43-8602283892fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.367164} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.909625924Z"}]},"request_id":"f15e5fa5-d997-4521-8929-2af03cf26f5a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.3685884} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 200 16ms","method":"GET","requestID":"776ce7c0-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? 200 41ms","method":"GET","requestID":"776d35e0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Setting up experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully set up experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"778307d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"778355f0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully running experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673618,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786435,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"778307d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"778307d0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37814","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03: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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"a19a4596-19a6-497a-9f08-cff30fa9469f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5122793} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.909625924Z"}]},"request_id":"7ce86f40-992f-4d2c-b446-cc9e369ddb40","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5138032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"778307d0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 200 18ms","method":"GET","requestID":"7782e0c0-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"778307d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? 200 18ms","method":"GET","requestID":"778307d0-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7785ee00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6424c9b1-f94d-4749-a6ea-c988b71874a4#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6424c9b1-f94d-4749-a6ea-c988b71874a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"5996b74c-d9ba-4744-9b0b-05c6a6ac4e6f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5295713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f00064ac-7d2c-42ae-a6ef-038b557e1209","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5300682} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c55578be-0cbe-411c-83b1-8a547e75135b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5302272} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"1e8fb5c35112373acc45d6b0beaffb8a","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.055072,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7785ee00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","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/6424c9b1-f94d-4749-a6ea-c988b71874a4","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"7785ee00-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +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":"1e8fb5c35112373acc45d6b0beaffb8a"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68f8c19b-87c5-4ea3-9772-13d7d093598f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5388167} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"1e8fb5c35112373acc45d6b0beaffb8a","responseTime":241,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:37814","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.536608,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"778355f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"778355f0-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7785ee00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling 200 23ms","method":"POST","requestID":"7785ee00-08c9-11f0-a656-5b8621d22e82","responseTime":23,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"e4b0600ddbdcd35f735661e43a38c2d2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4b0600ddbdcd35f735661e43a38c2d2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"778355f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling 200 41ms","method":"POST","requestID":"778355f0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7789be90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4b0600ddbdcd35f735661e43a38c2d2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"778a33c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37814","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7de58a9-a1bb-475a-b644-f8b030f0fe13","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.549618} authorization-1 | {"client_addr":"127.0.0.1:40280","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869688,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:37814","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358887,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e4b0600ddbdcd35f735661e43a38c2d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e4b0600ddbdcd35f735661e43a38c2d2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7789be90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","rebac_allow":false,"scope_allow":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":"7789be90-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b7eeb87-fdb4-4bc0-8c44-f12c49a3cc43","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5529358} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559631,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"778a33c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","rebac_allow":false,"scope_allow":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":"778a33c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.868838465Z"}]},"request_id":"cc9e1162-7b53-4d21-acc2-b8dd06ec67ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5565152} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7789be90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling 200 12ms","method":"POST","requestID":"7789be90-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4b0600ddbdcd35f735661e43a38c2d2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"778a33c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling 200 10ms","method":"POST","requestID":"778a33c0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Building connection plan","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"df603c62-fcad-4c1a-8f63-ce42e7b541c0"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f16609fa-02c4-4f74-b924-091090494c6a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ffea590-3563-4598-bfdf-f7e8e08f753e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4b0600ddbdcd35f735661e43a38c2d2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 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":"e4b0600ddbdcd35f735661e43a38c2d2"} device-1 | {"level":"info","message":"GET /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3? 200 16ms","method":"GET","requestID":"e4b0600ddbdcd35f735661e43a38c2d2","responseTime":16,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3?"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.794533,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"778be170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"778be170-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s","level":"info","message":"auth send jwt","requestID":"3944f7125d4b977130641e67d6e4bdeb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3944f7125d4b977130641e67d6e4bdeb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3944f7125d4b977130641e67d6e4bdeb"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629102,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3944f7125d4b977130641e67d6e4bdeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832183,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4M30.Ejs38Sn2PVHAHGghIt4MkMK4BSSbPhha_cwIo1qVu7s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3944f7125d4b977130641e67d6e4bdeb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"5547e76f-04d6-472a-8a2f-f9c11703d2bb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5728128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca70202c-2c5e-4b4e-b3cb-f2b16ea443b0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.573} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"778be170-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:00.909625924Z"}]},"request_id":"5c7b31f2-b571-41c9-adf7-dcfc50693ca1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.5759115} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3944f7125d4b977130641e67d6e4bdeb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642'","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3944f7125d4b977130641e67d6e4bdeb"} gateway-1 | {"time_local":"24/Mar/2025:16:03:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3944f7125d4b977130641e67d6e4bdeb"} device-1 | {"level":"info","message":"GET /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3? 200 38ms","method":"GET","requestID":"3944f7125d4b977130641e67d6e4bdeb","responseTime":38,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642'","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"778be170-08c9-11f0-a656-5b8621d22e82","responseTime":47,"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":"778be170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","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":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 557499203916590154 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:eMgn\r\na=ice-pwd:RQSuCB3bEkJZv8OwlC1OqLph\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:6D:72:93:26:D7:66:C9:3D:15:9B:47:F3:7E:61:80:3A:F4:8C:22:1B:7F:44:67:B8:3C:15:B7:BC:69:23:22\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1e8fb5c35112373acc45d6b0beaffb8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"779a8770-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5c858ad-7260-4601-862c-4fe4f9d9c7ba","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.6836681} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.109533,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"779a8770-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"779a8770-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"779a8770-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling 200 32ms","method":"POST","requestID":"779a8770-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"779fb790-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"226e64ba-9c66-49bc-8ac7-782905404244","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832183.6929162} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173018,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"779fb790-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","rebac_allow":false,"scope_allow":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":"779fb790-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"779fb790-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling 200 8ms","method":"POST","requestID":"779fb790-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling"} device-1 | {"device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/f7542d1f-14ac-4cc5-829e-f4eac44c8642' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"825d3d3cc3243341082b068fd948f22a","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":"825d3d3cc3243341082b068fd948f22a","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/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"}}},"level":"info","message":"received a callback","requestID":"825d3d3cc3243341082b068fd948f22a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"825d3d3cc3243341082b068fd948f22a","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:2949480023 1 udp 2113937151 6fe96607-dddd-41d3-a62c-db9884ec7ac5.local 54137 typ host generation 0 ufrag eMgn network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"825d3d3cc3243341082b068fd948f22a"} device-1 | {"device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","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/f7542d1f-14ac-4cc5-829e-f4eac44c8642' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"409278ea2f7fc3c817bd403401a6b8f9","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":"409278ea2f7fc3c817bd403401a6b8f9","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/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"}}},"level":"info","message":"received a callback","requestID":"409278ea2f7fc3c817bd403401a6b8f9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"78cf36e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7542d1f-14ac-4cc5-829e-f4eac44c8642","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"732f2587-1cd0-4b6e-8fff-4a614d58d5c7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.682071} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.224136,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78cf36e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","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":"78cf36e0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"78cf36e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642 200 7ms","method":"GET","requestID":"78cf36e0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"409278ea2f7fc3c817bd403401a6b8f9","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"409278ea2f7fc3c817bd403401a6b8f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78d2b950-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4440715d-f6ee-44ca-be8a-14061e7f0e78","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.706091} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.524769,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78d2b950-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"78d2b950-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78d2b950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling 200 9ms","method":"POST","requestID":"78d2b950-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78d46700-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5335a1bc-70b5-470a-8157-2dcfc25354aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.717265} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.479719,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78d46700-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","rebac_allow":false,"scope_allow":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":"78d46700-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78d46700-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling 200 10ms","method":"POST","requestID":"78d46700-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4NX0.7DKIPcjtKDOEKnX9L_qeEODE9T_7pLRUsEuPU6esI4s","level":"info","message":"auth send jwt","requestID":"e7a1f101d7df8274862d646fde470f9b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e7a1f101d7df8274862d646fde470f9b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","requestID":"e7a1f101d7df8274862d646fde470f9b"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.58957,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e7a1f101d7df8274862d646fde470f9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832185,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4NX0.7DKIPcjtKDOEKnX9L_qeEODE9T_7pLRUsEuPU6esI4s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e7a1f101d7df8274862d646fde470f9b","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","requestID":"e7a1f101d7df8274862d646fde470f9b"} experiment-1 | {"level":"info","message":"GET /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4 200 8ms","method":"GET","requestID":"e7a1f101d7df8274862d646fde470f9b","responseTime":8,"status":200,"url":"/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"} gateway-1 | {"time_local":"24/Mar/2025:16:03:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7a1f101d7df8274862d646fde470f9b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4NX0.7DKIPcjtKDOEKnX9L_qeEODE9T_7pLRUsEuPU6esI4s","level":"info","message":"auth send jwt","requestID":"46f85b3da6f6f26c944c73e56694b633"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"46f85b3da6f6f26c944c73e56694b633","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","requestID":"46f85b3da6f6f26c944c73e56694b633"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.704704,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"46f85b3da6f6f26c944c73e56694b633","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832185,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4NX0.7DKIPcjtKDOEKnX9L_qeEODE9T_7pLRUsEuPU6esI4s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"46f85b3da6f6f26c944c73e56694b633","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Attempting to finish experiment","requestID":"46f85b3da6f6f26c944c73e56694b633"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.86594,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832185,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4NX0.7DKIPcjtKDOEKnX9L_qeEODE9T_7pLRUsEuPU6esI4s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642","device":"93ec2563-2321-4d4e-84b6-0573e963bdf3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0195d7e3-9906-4f5b-a83b-3b04ac113fc3","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/f7542d1f-14ac-4cc5-829e-f4eac44c8642' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7542d1f-14ac-4cc5-829e-f4eac44c8642","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7542d1f-14ac-4cc5-829e-f4eac44c8642': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7542d1f-14ac-4cc5-829e-f4eac44c8642","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"7e15ed7d-36dc-431b-a86d-0efe2083033b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.8649805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec14bb69-fa9c-4620-b236-2469053b0a4b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.8651829} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2c31efda52de027c64068437140045b5","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":"2c31efda52de027c64068437140045b5","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"924159d1ab460e995cd15233d74c0119","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":"924159d1ab460e995cd15233d74c0119","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":"closed","url":"http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"}}},"level":"info","message":"received a callback","requestID":"2c31efda52de027c64068437140045b5"} 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/0195d7e3-9906-4f5b-a83b-3b04ac113fc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"}}},"level":"info","message":"received a callback","requestID":"924159d1ab460e995cd15233d74c0119"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642 204 19ms","method":"DELETE","requestID":"78e99cb0-08c9-11f0-a656-5b8621d22e82","responseTime":19,"status":204,"url":"/peerconnections/f7542d1f-14ac-4cc5-829e-f4eac44c8642"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"},"level":"info","message":"Successfully finished experiment","requestID":"46f85b3da6f6f26c944c73e56694b633"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78f0a190-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0195d7e3-9906-4f5b-a83b-3b04ac113fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecb0e5c7-1f00-4e1b-9a2f-e05e50148d85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.901455} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.256218,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78f0a190-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"78f0a190-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78f0a190-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling 200 8ms","method":"POST","requestID":"78f0a190-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78f22830-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6424c9b1-f94d-4749-a6ea-c988b71874a4': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6424c9b1-f94d-4749-a6ea-c988b71874a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"019111ed-5b7e-43f9-bfa4-028971348197","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.9094496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78e52bc6-b4cb-485d-b5cd-32fda54368a0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.909633} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"46f85b3da6f6f26c944c73e56694b633","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ec2563-2321-4d4e-84b6-0573e963bdf3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f17f79da-6da1-4437-a867-e5176b10aba6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832185.9119022} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465641,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78f22830-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"78f22830-08c9-11f0-a656-5b8621d22e82","responseTime":21,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78f22830-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling 200 35ms","method":"POST","requestID":"78f22830-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/93ec2563-2321-4d4e-84b6-0573e963bdf3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4","requestID":"46f85b3da6f6f26c944c73e56694b633"} gateway-1 | {"time_local":"24/Mar/2025:16:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46f85b3da6f6f26c944c73e56694b633"} experiment-1 | {"level":"info","message":"DELETE /experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4 204 164ms","method":"DELETE","requestID":"46f85b3da6f6f26c944c73e56694b633","responseTime":164,"status":204,"url":"/experiments/6424c9b1-f94d-4749-a6ea-c988b71874a4"} gateway-1 | {"time_local":"24/Mar/2025:16:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"4.128","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3bf9117aa4cb5941301d326a1c135d62"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"2c31efda52de027c64068437140045b5","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c31efda52de027c64068437140045b5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"924159d1ab460e995cd15233d74c0119","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"924159d1ab460e995cd15233d74c0119"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4Nn0.isSB77Mqovr0Rmu_mCUzp6eQkyaxr977YGg9nOmtNz0","level":"info","message":"auth send jwt","requestID":"06c2e92889c68ac7dd1e880642845e18"} gateway-1 | {"time_local":"24/Mar/2025:16:03:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2157","request_time":"2.803","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":"b262dfd477ea62f3b543773b066b834e"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"06c2e92889c68ac7dd1e880642845e18","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"06c2e92889c68ac7dd1e880642845e18"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0195d7e3-9906-4f5b-a83b-3b04ac113fc3' closed"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761404,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"06c2e92889c68ac7dd1e880642845e18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832186,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4Nn0.isSB77Mqovr0Rmu_mCUzp6eQkyaxr977YGg9nOmtNz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","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/93ec2563-2321-4d4e-84b6-0573e963bdf3' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8ad9044-0082-4592-a81c-b6d12b37b140","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.0855541} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9c6d0b7-3da7-4568-a551-b030dfdeb604","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.0900762} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"c440a067-60b9-48e3-800a-f019aa8bb21c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.0997937} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b25529a4-fcab-4ea9-9091-29da4190582a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.099898} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.099777765Z"}]},"request_id":"981b0a9e-a2f1-4842-9c52-f6db63e2966e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.104088} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"06c2e92889c68ac7dd1e880642845e18"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"06c2e92889c68ac7dd1e880642845e18","responseTime":91,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06c2e92889c68ac7dd1e880642845e18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4Nn0.isSB77Mqovr0Rmu_mCUzp6eQkyaxr977YGg9nOmtNz0","level":"info","message":"auth send jwt","requestID":"d96fb0c3be592640e53a9eac2ab8f447"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d96fb0c3be592640e53a9eac2ab8f447","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d96fb0c3be592640e53a9eac2ab8f447"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71114,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d96fb0c3be592640e53a9eac2ab8f447","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832186,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4Nn0.isSB77Mqovr0Rmu_mCUzp6eQkyaxr977YGg9nOmtNz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b234e718-c935-4af8-83a9-c3b2262edddb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.1510372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d75400f-4432-4bf2-9cad-43316ee2b31b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.1795719} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"02dd207d-180d-4f9a-b611-cc0fc44ba771","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.1924846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68f91030-306f-4475-b7d0-20daa90ef04d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.19277} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.192462266Z"}]},"request_id":"f8ded998-312b-4ce8-831a-8a4aac3c61f7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832186.1962304} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d96fb0c3be592640e53a9eac2ab8f447"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"d96fb0c3be592640e53a9eac2ab8f447","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d96fb0c3be592640e53a9eac2ab8f447"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0d0969d77d45358cd128ece2772772b4","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":"0d0969d77d45358cd128ece2772772b4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/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":"0d0969d77d45358cd128ece2772772b4"} device-1 | {"level":"info","message":"OPTIONS /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/websocket 200 1ms","method":"OPTIONS","requestID":"0d0969d77d45358cd128ece2772772b4","responseTime":1,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"fa482920230a56c861aaa1bf0a06ea34"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa482920230a56c861aaa1bf0a06ea34","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fa482920230a56c861aaa1bf0a06ea34"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266643,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fa482920230a56c861aaa1bf0a06ea34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fa482920230a56c861aaa1bf0a06ea34","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53aed7fe24527c9f8438cb8259fc25d9","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":"53aed7fe24527c9f8438cb8259fc25d9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","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":"53aed7fe24527c9f8438cb8259fc25d9"} device-1 | {"level":"info","message":"OPTIONS /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket 200 1ms","method":"OPTIONS","requestID":"53aed7fe24527c9f8438cb8259fc25d9","responseTime":1,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"001f1138f967aa586d2224e6485c72e7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"001f1138f967aa586d2224e6485c72e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"001f1138f967aa586d2224e6485c72e7"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fa482920230a56c861aaa1bf0a06ea34"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/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":"fa482920230a56c861aaa1bf0a06ea34"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725551,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/websocket 200 27ms","method":"POST","requestID":"fa482920230a56c861aaa1bf0a06ea34","responseTime":27,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"001f1138f967aa586d2224e6485c72e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"001f1138f967aa586d2224e6485c72e7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"001f1138f967aa586d2224e6485c72e7"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","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":"001f1138f967aa586d2224e6485c72e7"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket 200 15ms","method":"POST","requestID":"001f1138f967aa586d2224e6485c72e7","responseTime":15,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"4e917cf1db5f7e00a370fe43d85e51ee"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e917cf1db5f7e00a370fe43d85e51ee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e917cf1db5f7e00a370fe43d85e51ee"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694279,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4e917cf1db5f7e00a370fe43d85e51ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e917cf1db5f7e00a370fe43d85e51ee","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.099777765Z"}]},"request_id":"6ae0ba6a-6d17-4b18-9a36-ca3fbfd16665","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.513835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4e917cf1db5f7e00a370fe43d85e51ee","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e917cf1db5f7e00a370fe43d85e51ee"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e917cf1db5f7e00a370fe43d85e51ee"} device-1 | {"level":"info","message":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? 200 9ms","method":"GET","requestID":"4e917cf1db5f7e00a370fe43d85e51ee","responseTime":10,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"689453186a490ecff9dd834783e76f55"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"689453186a490ecff9dd834783e76f55","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"689453186a490ecff9dd834783e76f55"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343868,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"689453186a490ecff9dd834783e76f55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"689453186a490ecff9dd834783e76f55","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.192462266Z"}]},"request_id":"b27f3e53-8f1b-4bf4-9383-51f78de7c523","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.5282645} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"689453186a490ecff9dd834783e76f55","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"689453186a490ecff9dd834783e76f55"} device-1 | {"level":"info","message":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? 200 10ms","method":"GET","requestID":"689453186a490ecff9dd834783e76f55","responseTime":10,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"689453186a490ecff9dd834783e76f55"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.622911,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dc4d6ed84da1d463299d1a4e1242ec4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to run experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to book experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully booked experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681719,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.234717,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.099777765Z"}]},"request_id":"21945de5-2c69-46c8-97e3-a6a6b9da9a1a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.5956042} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.192462266Z"}]},"request_id":"945ad844-2596-447f-978b-e595ef95257e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.5990791} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? 200 13ms","method":"GET","requestID":"7a8b17b0-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? 200 39ms","method":"GET","requestID":"7a8b3ec0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Setting up experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully set up experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7a9aa810-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745057,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully running experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604994,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83efc9d3-ab0e-426e-8816-745bd5df39d5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.695206} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765523,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7a9aa810-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"7a9aa810-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.099777765Z"}]},"request_id":"e6ae508d-5f38-4439-8ac9-25829330e9a2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7217312} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.192462266Z"}]},"request_id":"58ebf8c4-aa2f-4f55-ac9f-4837391a2795","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7224686} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F823c2099-f361-40c9-aa35-78d098855d72#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F823c2099-f361-40c9-aa35-78d098855d72","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"60b057c3-febe-4ed3-88e1-4adb522f7f46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7265205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e51295b5-766f-40b0-84b4-5ddbfa65de73","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7267776} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7a9aa810-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling 200 39ms","method":"POST","requestID":"7a9aa810-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? 200 42ms","method":"GET","requestID":"7a9a32e0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? 200 41ms","method":"GET","requestID":"7a9a8100-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7aa0e9a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d18705c9-db69-4fea-b7cb-1cef8d5009a5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7339902} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368264,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7aa1acf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7aa0e9a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","rebac_allow":false,"scope_allow":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":"7aa0e9a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7aa0e9a0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e","responseTime":202,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling 200 8ms","method":"POST","requestID":"7aa0e9a0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"533098aa-5c36-4380-b773-8bf61a591dd5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7406404} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.199483,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7aa1acf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"b7a0b276623a0b2b302f99ad656981e0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7aa1acf0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7a0b276623a0b2b302f99ad656981e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b7a0b276623a0b2b302f99ad656981e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7aa1acf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling 200 11ms","method":"POST","requestID":"7aa1acf0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752652,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b7a0b276623a0b2b302f99ad656981e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7aa3a8c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b7a0b276623a0b2b302f99ad656981e0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3919eb4f-bf91-4057-84b8-3af2f5c2f97b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7762663} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.099777765Z"}]},"request_id":"8c174024-3c7a-4a88-b105-c89a73ffcdf4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.7767637} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b7a0b276623a0b2b302f99ad656981e0","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.338904,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7aa3a8c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","rebac_allow":false,"scope_allow":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":"7aa3a8c0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b7a0b276623a0b2b302f99ad656981e0"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7a0b276623a0b2b302f99ad656981e0"} device-1 | {"level":"info","message":"GET /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590? 200 39ms","method":"GET","requestID":"b7a0b276623a0b2b302f99ad656981e0","responseTime":39,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7aa3a8c0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Building connection plan","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"efc34f9e-5388-44cd-ae8e-dca7f1a756f9"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3dc57b43-dd3f-444e-8546-7fc51a947738"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e9a10d68-fb11-4ec3-a24a-e2006f423386"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} 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/a80bdd2f-e153-43c7-b52c-2a271d2cc590"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling 200 39ms","method":"POST","requestID":"7aa3a8c0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY","level":"info","message":"auth send jwt","requestID":"e8b61ff6578bfab59988c455296195ae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8b61ff6578bfab59988c455296195ae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8b61ff6578bfab59988c455296195ae"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.607702,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75735,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e8b61ff6578bfab59988c455296195ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832188,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OH0.IwlWuB7Vh1tOLMAA2TJFArFzfE5A9oMc0cz1GGcGQwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e8b61ff6578bfab59988c455296195ae","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:06.192462266Z"}]},"request_id":"98e8cf0d-345d-4f36-96d5-7d0009387786","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.8203416} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e8b61ff6578bfab59988c455296195ae","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8b61ff6578bfab59988c455296195ae"} gateway-1 | {"time_local":"24/Mar/2025:16:03:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8b61ff6578bfab59988c455296195ae"} device-1 | {"level":"info","message":"GET /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9? 200 34ms","method":"GET","requestID":"e8b61ff6578bfab59988c455296195ae","responseTime":34,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebf00d8a-1cb7-4b8f-84b3-8829f5f1e951","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.8241816} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ce062d19-e244-4a43-86d2-a660ec3490ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.8245134} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056'","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056'","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 86ms","method":"POST","requestID":"7aa9c340-08c9-11f0-a656-5b8621d22e82","responseTime":86,"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":"7aa9c340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","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} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dc4d6ed84da1d463299d1a4e1242ec4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7abe5cb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce48aca3-1d65-4988-a376-241b6288d988","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.9279397} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016388,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7abe5cb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","rebac_allow":false,"scope_allow":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":"7abe5cb0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7abe5cb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling 200 10ms","method":"POST","requestID":"7abe5cb0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ac03170-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72b0aafe-3585-4ae1-9e73-2e158d2ae8e3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832188.9641845} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.884423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7ac03170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","rebac_allow":false,"scope_allow":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":"7ac03170-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ac03170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling 200 33ms","method":"POST","requestID":"7ac03170-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling"} device-1 | {"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7339939305717087036 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:1Qgk\r\na=ice-pwd:7+y1L45J8tJyb/ERAJSDj0FU\r\na=ice-options:trickle\r\na=fingerprint:sha-256 49:26:D4:86:E7:4E:99:A4:47:F6:58:98:2E:CE:69:BB:DF:12:8B:EF:DD:56:71:A2:C1:D2:D5:3C:B0:36:5A:52\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5005011971051133238 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:jJIZ\r\na=ice-pwd:v+HMOOs5U/Xs0D2voh8zbLcd\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0F:ED:E7:69:B5:1D:71:70:F8:C9:CB:0D:3A:24:0C:6E:A1:A2:51:83:E1:5D:AC:81:D5:C5:77:86:4B:20:01:74\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2303535956 1 udp 2113937151 7549369a-b85e-4352-ae1d-02f132e5f225.local 45711 typ host generation 0 ufrag jJIZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","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/a80bdd2f-e153-43c7-b52c-2a271d2cc590'"} device-1 | {"content":{"candidate":"candidate:685352113 1 udp 2113937151 6187cabf-715a-441f-8e63-6d4c9a47bc4f.local 49835 typ host generation 0 ufrag 1Qgk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","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/7fd6d040-f78a-4117-9250-aed0687c5056' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c89f298ca93d527311c0d1577573288f","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":"c89f298ca93d527311c0d1577573288f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} 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/a80bdd2f-e153-43c7-b52c-2a271d2cc590"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"}}},"level":"info","message":"received a callback","requestID":"c89f298ca93d527311c0d1577573288f"} device-1 | {"device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","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":"c89f298ca93d527311c0d1577573288f","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"c89f298ca93d527311c0d1577573288f"} device-1 | {"device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","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/7fd6d040-f78a-4117-9250-aed0687c5056' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6dd53aede7d74671e8b90bd303dd293","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":"c6dd53aede7d74671e8b90bd303dd293","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/a80bdd2f-e153-43c7-b52c-2a271d2cc590"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"}}},"level":"info","message":"received a callback","requestID":"c6dd53aede7d74671e8b90bd303dd293"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7add0840-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7fd6d040-f78a-4117-9250-aed0687c5056","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c186ef59-0a96-4b54-92c8-6bcf63f6037b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.1540878} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.348247,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7add0840-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","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 31ms","method":"POST","requestID":"7add0840-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7add0840-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056 200 35ms","method":"GET","requestID":"7add0840-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 84ms","method":"POST","requestID":"c6dd53aede7d74671e8b90bd303dd293","responseTime":84,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.088","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6dd53aede7d74671e8b90bd303dd293"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ae93d40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0daab542-7bc2-42ed-87af-bb911dd31bb7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.209153} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623562,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7ae93d40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","rebac_allow":false,"scope_allow":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":"7ae93d40-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ae93d40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling 200 10ms","method":"POST","requestID":"7ae93d40-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7aeb1200-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32c941a6-87d1-4e88-9d07-834418f4c822","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.2211678} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082722,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7aeb1200-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","rebac_allow":false,"scope_allow":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":"7aeb1200-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7aeb1200-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling 200 34ms","method":"POST","requestID":"7aeb1200-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8","level":"info","message":"auth send jwt","requestID":"53220e6ca86dc9ddefce9997e57650a2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53220e6ca86dc9ddefce9997e57650a2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/823c2099-f361-40c9-aa35-78d098855d72","requestID":"53220e6ca86dc9ddefce9997e57650a2"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.698563,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"53220e6ca86dc9ddefce9997e57650a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832189,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53220e6ca86dc9ddefce9997e57650a2","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/823c2099-f361-40c9-aa35-78d098855d72 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53220e6ca86dc9ddefce9997e57650a2"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/823c2099-f361-40c9-aa35-78d098855d72","requestID":"53220e6ca86dc9ddefce9997e57650a2"} experiment-1 | {"level":"info","message":"GET /experiments/823c2099-f361-40c9-aa35-78d098855d72 200 10ms","method":"GET","requestID":"53220e6ca86dc9ddefce9997e57650a2","responseTime":10,"status":200,"url":"/experiments/823c2099-f361-40c9-aa35-78d098855d72"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/823c2099-f361-40c9-aa35-78d098855d72","requestID":"557951c0b1457168ea1f7c4e01905d7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8","level":"info","message":"auth send jwt","requestID":"557951c0b1457168ea1f7c4e01905d7e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"557951c0b1457168ea1f7c4e01905d7e","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.684858,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"557951c0b1457168ea1f7c4e01905d7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832189,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"557951c0b1457168ea1f7c4e01905d7e","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Attempting to finish experiment","requestID":"557951c0b1457168ea1f7c4e01905d7e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.750442,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832189,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","device":"dfbacfcc-22d1-47a9-a33c-9d934515d1f9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056","device":"a80bdd2f-e153-43c7-b52c-2a271d2cc590","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/7fd6d040-f78a-4117-9250-aed0687c5056' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fd7599f320d855237ca27e7c10923934","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":"fd7599f320d855237ca27e7c10923934","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e4b8a83748c93da72a9d62b942a61aaf","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/a80bdd2f-e153-43c7-b52c-2a271d2cc590"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"}}},"level":"info","message":"received a callback","requestID":"fd7599f320d855237ca27e7c10923934"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"e4b8a83748c93da72a9d62b942a61aaf","responseTime":0,"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/a80bdd2f-e153-43c7-b52c-2a271d2cc590"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"}}},"level":"info","message":"received a callback","requestID":"e4b8a83748c93da72a9d62b942a61aaf"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7fd6d040-f78a-4117-9250-aed0687c5056': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7fd6d040-f78a-4117-9250-aed0687c5056","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"0ff9e35e-f917-43bb-bc2f-eb2cdf516a3b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.5157864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf7f3ded-c81b-4f2b-993a-b8bb99006e81","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.5160036} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"7fd6d040-f78a-4117-9250-aed0687c5056","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056 204 36ms","method":"DELETE","requestID":"7b1619a0-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":204,"url":"/peerconnections/7fd6d040-f78a-4117-9250-aed0687c5056"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/823c2099-f361-40c9-aa35-78d098855d72"},"level":"info","message":"Successfully finished experiment","requestID":"557951c0b1457168ea1f7c4e01905d7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b1dbac0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa80bdd2f-e153-43c7-b52c-2a271d2cc590","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"330793d4-e91d-4bfe-bef6-08335b3fc438","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.552236} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.102075,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7b1dbac0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590","object_type":"device","rebac_allow":false,"scope_allow":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":"7b1dbac0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b1dbac0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling 200 8ms","method":"POST","requestID":"7b1dbac0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b1f4160-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F823c2099-f361-40c9-aa35-78d098855d72': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F823c2099-f361-40c9-aa35-78d098855d72","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"5762ee7e-42e3-48dd-9035-0314f64bd6de","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.560872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd773228-49c9-40bf-8c48-b96c79f93084","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.5610764} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"557951c0b1457168ea1f7c4e01905d7e","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfbacfcc-22d1-47a9-a33c-9d934515d1f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7bb805e-eaa1-4ca1-b2df-b0ad5c3fd1ae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.5629501} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.248102,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7b1f4160-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9","object_type":"device","rebac_allow":false,"scope_allow":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":"7b1f4160-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b1f4160-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling 200 8ms","method":"POST","requestID":"7b1f4160-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/823c2099-f361-40c9-aa35-78d098855d72","requestID":"557951c0b1457168ea1f7c4e01905d7e"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/823c2099-f361-40c9-aa35-78d098855d72 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"557951c0b1457168ea1f7c4e01905d7e"} experiment-1 | {"level":"info","message":"DELETE /experiments/823c2099-f361-40c9-aa35-78d098855d72 204 215ms","method":"DELETE","requestID":"557951c0b1457168ea1f7c4e01905d7e","responseTime":215,"status":204,"url":"/experiments/823c2099-f361-40c9-aa35-78d098855d72"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"fd7599f320d855237ca27e7c10923934","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd7599f320d855237ca27e7c10923934"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 175ms","method":"POST","requestID":"e4b8a83748c93da72a9d62b942a61aaf","responseTime":175,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4b8a83748c93da72a9d62b942a61aaf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8","level":"info","message":"auth send jwt","requestID":"04c90c96e05afcea836e5a5fe6b7b28c"} device-1 | {"level":"info","message":"postDevices called","requestID":"04c90c96e05afcea836e5a5fe6b7b28c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.211","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":"367be09a559c995a70ff1fc34de94c3b"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.861635,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"04c90c96e05afcea836e5a5fe6b7b28c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832189,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"1.225","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":"95ff79b3f8bc377bc182c769bbc95112"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dfbacfcc-22d1-47a9-a33c-9d934515d1f9' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"96ee246b-204a-4bec-b184-bfc0db74b041","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.7359767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a80bdd2f-e153-43c7-b52c-2a271d2cc590' 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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3742736-aabf-4d62-9de8-1dd33d31e4c4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.740139} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"77101e8e-0dfc-42d9-af9b-eb0e4c493d3c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.7502642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83f2cf1f-1812-4aa4-bea7-85675991c756","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.7503572} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04c90c96e05afcea836e5a5fe6b7b28c"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04c90c96e05afcea836e5a5fe6b7b28c"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":62,"status":201,"url":"/devices?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.750248300Z"}]},"request_id":"44df60e4-b81f-4558-9f01-ba2fd2a2dc1c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.7539728} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04c90c96e05afcea836e5a5fe6b7b28c","responseTime":2,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8","level":"info","message":"auth send jwt","requestID":"bf7ed36ba5613242cfb0d19e21d3322e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bf7ed36ba5613242cfb0d19e21d3322e"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.709606,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bf7ed36ba5613242cfb0d19e21d3322e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832189,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE4OX0.us5hwoxa_grm37z1nthiv8YJpbWt93na8c_FrP2Z7w8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9d92d04e-05ed-4d29-935f-59b5f8af430d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.7977638} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54f7284b-24e5-43e0-8028-73b28895f056","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.8016973} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ae0ad665-168c-4c55-8162-b479b1ced959","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.8343005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3df3e0b-5a94-4d1f-92a7-180050c1bcba","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.834464} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","responseTime":34,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"33d2c526-4007-49c5-a313-adaaf2bd5a69","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832189.8377025} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bf7ed36ba5613242cfb0d19e21d3322e"} gateway-1 | {"time_local":"24/Mar/2025:16:03:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf7ed36ba5613242cfb0d19e21d3322e"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"bf7ed36ba5613242cfb0d19e21d3322e","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5MH0.ocYksip7a1L04POscGoTlvDs3rlC2TC93K9io4X9IM8","level":"info","message":"auth send jwt","requestID":"b2d7b58bd555fd7f26388828314c5d82"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2d7b58bd555fd7f26388828314c5d82","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b2d7b58bd555fd7f26388828314c5d82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:10Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66075,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2d7b58bd555fd7f26388828314c5d82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832190,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5MH0.ocYksip7a1L04POscGoTlvDs3rlC2TC93K9io4X9IM8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b2d7b58bd555fd7f26388828314c5d82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"9ed3bf42-fa0e-44ba-8ac2-aeb7390a56be","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832190.7137942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2d7b58bd555fd7f26388828314c5d82","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"079ae313-33b1-4579-bdd7-11363f95f7c9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832190.7390177} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b2d7b58bd555fd7f26388828314c5d82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"13878561-c1de-4bdd-9a09-9ae3653139ec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832190.760285} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b2d7b58bd555fd7f26388828314c5d82","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b2d7b58bd555fd7f26388828314c5d82"} device-1 | {"level":"info","message":"PATCH /devices/139a04b2-80bd-4104-af91-cdb7f997ceec 200 81ms","method":"PATCH","requestID":"b2d7b58bd555fd7f26388828314c5d82","responseTime":81,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"} gateway-1 | {"time_local":"24/Mar/2025:16:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/139a04b2-80bd-4104-af91-cdb7f997ceec HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"b2d7b58bd555fd7f26388828314c5d82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5MH0.ocYksip7a1L04POscGoTlvDs3rlC2TC93K9io4X9IM8","level":"info","message":"auth send jwt","requestID":"b09d0a8762e05e2da7117037c5a4ea9c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b09d0a8762e05e2da7117037c5a4ea9c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b09d0a8762e05e2da7117037c5a4ea9c"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:10Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007141,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b09d0a8762e05e2da7117037c5a4ea9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832190,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5MH0.ocYksip7a1L04POscGoTlvDs3rlC2TC93K9io4X9IM8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b09d0a8762e05e2da7117037c5a4ea9c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b09d0a8762e05e2da7117037c5a4ea9c"} gateway-1 | {"time_local":"24/Mar/2025:16:03:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/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.14","requestID":"b09d0a8762e05e2da7117037c5a4ea9c"} device-1 | {"level":"info","message":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/websocket 200 16ms","method":"POST","requestID":"b09d0a8762e05e2da7117037c5a4ea9c","responseTime":16,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20df6d9393e5538d1c38dd2373bc6931","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":"20df6d9393e5538d1c38dd2373bc6931","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d88b436d-8874-4137-8a88-fca6927dd52c/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":"20df6d9393e5538d1c38dd2373bc6931"} device-1 | {"level":"info","message":"OPTIONS /devices/d88b436d-8874-4137-8a88-fca6927dd52c/websocket 200 1ms","method":"OPTIONS","requestID":"20df6d9393e5538d1c38dd2373bc6931","responseTime":1,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"d47dbda5f704086ab3d5439886a66a62"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d47dbda5f704086ab3d5439886a66a62","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d47dbda5f704086ab3d5439886a66a62"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29245,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d47dbda5f704086ab3d5439886a66a62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d47dbda5f704086ab3d5439886a66a62","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d47dbda5f704086ab3d5439886a66a62"} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/websocket 200 42ms","method":"POST","requestID":"d47dbda5f704086ab3d5439886a66a62","responseTime":42,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","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":"d47dbda5f704086ab3d5439886a66a62"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"e9eb12f863c4fd341d1b668712aa0a48"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e9eb12f863c4fd341d1b668712aa0a48","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9eb12f863c4fd341d1b668712aa0a48"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624118,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e9eb12f863c4fd341d1b668712aa0a48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e9eb12f863c4fd341d1b668712aa0a48","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.750248300Z"}]},"request_id":"f3aeed59-4d1b-4ec2-bdbc-b35981a7dd43","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.2123144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e9eb12f863c4fd341d1b668712aa0a48","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9eb12f863c4fd341d1b668712aa0a48"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 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":"e9eb12f863c4fd341d1b668712aa0a48"} device-1 | {"level":"info","message":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 200 11ms","method":"GET","requestID":"e9eb12f863c4fd341d1b668712aa0a48","responseTime":11,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"092ad33bd9704712ccb2dc5ce887318b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"092ad33bd9704712ccb2dc5ce887318b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"092ad33bd9704712ccb2dc5ce887318b"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682623,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"092ad33bd9704712ccb2dc5ce887318b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"092ad33bd9704712ccb2dc5ce887318b","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"57e51765-bf5b-4035-ab84-8b8c455a663c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.2288737} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"092ad33bd9704712ccb2dc5ce887318b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"092ad33bd9704712ccb2dc5ce887318b"} device-1 | {"level":"info","message":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 200 11ms","method":"GET","requestID":"092ad33bd9704712ccb2dc5ce887318b","responseTime":11,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 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":"092ad33bd9704712ccb2dc5ce887318b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.650794,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"cb5ff0eb1a0aafad9262ab5e603427bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to run experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to book experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully booked experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.835072,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913176,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.750248300Z"}]},"request_id":"a2972cd3-51a4-4da7-b69c-66d270a4e7bf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.2971914} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"af54c45d-da34-4179-b2b7-ecc0bf491640","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.298615} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82","responseTime":24,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 200 42ms","method":"GET","requestID":"7cbf5cd0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 200 41ms","method":"GET","requestID":"7cbfaaf0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Setting up experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully locked booking for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to update booking for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully updated booking for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully set up experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cd4e0a0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully running experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921612,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34720","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820973,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6ba4e82-979f-4944-acee-e8d647c417a8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4327037} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849151,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cd4e0a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","rebac_allow":false,"scope_allow":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":"7cd4e0a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.750248300Z"}]},"request_id":"dab282f7-450a-4e73-a0c8-9fe20dd04c34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4350193} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cd4e0a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"f14ab561-bf24-43fa-8b5b-4fc24f2c1416","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4377744} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling 200 12ms","method":"POST","requestID":"7cd4e0a0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05c29fd8-1b19-45f8-90dc-e6abf1461868#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05c29fd8-1b19-45f8-90dc-e6abf1461868","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"673f138a-587e-4434-9ac8-f0d06089d5b1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4410937} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cd72a90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} device-1 | {"level":"info","message":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 200 20ms","method":"GET","requestID":"7cd49280-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 200 20ms","method":"GET","requestID":"7cd4b990-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08c8efcc-7477-43c3-af57-ddf2db9830a3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4454477} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.530922,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cd72a90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","rebac_allow":false,"scope_allow":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":"7cd72a90-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cd814f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89dc43a2-77e9-4402-85ed-c5feddefac34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4523656} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.462755,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cd72a90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cd814f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","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":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling 200 13ms","method":"POST","requestID":"7cd72a90-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"7cd814f0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cd814f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5be2ed8c-7f23-4784-98ce-67fe37bbe866","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.457429} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling 200 11ms","method":"POST","requestID":"7cd814f0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cda10c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f4ae904-2aaf-4731-98df-7fafdb148a2c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4652753} experiment-1 | {"data":{"experiment":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423567,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 229ms","method":"POST","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb","responseTime":229,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cda10c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","rebac_allow":false,"scope_allow":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":"7cda10c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"3c4e41ff5058c4bbc2e34946950eac4f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c4e41ff5058c4bbc2e34946950eac4f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cda10c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling 200 12ms","method":"POST","requestID":"7cda10c0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3c4e41ff5058c4bbc2e34946950eac4f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Building connection plan","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"55e08d9c-9fe5-4a1a-96ec-141fc403e617"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e7f8766f-6f31-48e6-960a-bf8259b43478"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"83b055c0-c623-4489-a09d-9e68ef71149f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} 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/d88b436d-8874-4137-8a88-fca6927dd52c"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753593,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3c4e41ff5058c4bbc2e34946950eac4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3c4e41ff5058c4bbc2e34946950eac4f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.62612,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.750248300Z"}]},"request_id":"678c322b-0c6e-4a40-99f9-4496680ff9de","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4802885} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c4e41ff5058c4bbc2e34946950eac4f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3c4e41ff5058c4bbc2e34946950eac4f"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 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":"3c4e41ff5058c4bbc2e34946950eac4f"} device-1 | {"level":"info","message":"GET /devices/d88b436d-8874-4137-8a88-fca6927dd52c? 200 12ms","method":"GET","requestID":"3c4e41ff5058c4bbc2e34946950eac4f","responseTime":12,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY","level":"info","message":"auth send jwt","requestID":"22ff6f00c6b6851b5b42964b11396e19"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22ff6f00c6b6851b5b42964b11396e19","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"22ff6f00c6b6851b5b42964b11396e19"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"423ca642-89d8-4f7e-ae24-6018678bf9f5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4887373} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36226db7-c8fa-48aa-b7dc-c01e1c2c598d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4890208} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638595,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"22ff6f00c6b6851b5b42964b11396e19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832192,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Mn0.cP1iLrytjcRXtt5N9xpQvH-bYXz4iZF1GST3qkVKWbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"22ff6f00c6b6851b5b42964b11396e19","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:09.834285751Z"}]},"request_id":"0a15a562-19d6-4180-afeb-ef54e2286bf5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.4956596} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"22ff6f00c6b6851b5b42964b11396e19","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a'","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a'","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} 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":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82","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":"getDevicesByDeviceId succeeded","requestID":"22ff6f00c6b6851b5b42964b11396e19"} gateway-1 | {"time_local":"24/Mar/2025:16:03:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 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":"22ff6f00c6b6851b5b42964b11396e19"} device-1 | {"level":"info","message":"GET /devices/139a04b2-80bd-4104-af91-cdb7f997ceec? 200 28ms","method":"GET","requestID":"22ff6f00c6b6851b5b42964b11396e19","responseTime":28,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"7cdc5ab0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","device":"d88b436d-8874-4137-8a88-fca6927dd52c","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} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"cb5ff0eb1a0aafad9262ab5e603427bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ce693e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa5cab3c-8023-42c1-94bd-1fe08a1f6cb8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.5482824} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487797,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7ce693e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","rebac_allow":false,"scope_allow":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":"7ce693e0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ce693e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling 200 12ms","method":"POST","requestID":"7ce693e0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ce8ddd0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79337f18-134b-4e80-b95f-0a8ac470702e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832192.560615} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.178895,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7ce8ddd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","rebac_allow":false,"scope_allow":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":"7ce8ddd0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ce8ddd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling 200 7ms","method":"POST","requestID":"7ce8ddd0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling"} device-1 | {"device":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8726673039127366955 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:Zu4K\r\na=ice-pwd:glUuXVmMLaUI7lJa51ncXDKg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FC:C9:23:1F:31:6B:64:3C:8A:E4:12:68:DB:3B:B2:92:1A:0E:A0:B5:6B:E3:75:1F:4F:D9:E3:6D:AE:AC:9B:51\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2400258968 1 udp 2113937151 004c8e39-0c85-4626-a1a5-573d968f5a2c.local 36769 typ host generation 0 ufrag Zu4K network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d88b436d-8874-4137-8a88-fca6927dd52c","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/d88b436d-8874-4137-8a88-fca6927dd52c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb0534dab242e107e97070baf96b19b0","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":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fb0534dab242e107e97070baf96b19b0","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":"connecting","url":"http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"}}},"level":"info","message":"received a callback","requestID":"fb0534dab242e107e97070baf96b19b0"} device-1 | {"device":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"fb0534dab242e107e97070baf96b19b0","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"fb0534dab242e107e97070baf96b19b0"} device-1 | {"data":{"peerconnection":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d88b436d-8874-4137-8a88-fca6927dd52c","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/fe0b4f29-e20a-45b3-b920-9a611dc7e94a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98a16b6b169d7717a188469b5a11f4ee","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":"98a16b6b169d7717a188469b5a11f4ee","responseTime":0,"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/d88b436d-8874-4137-8a88-fca6927dd52c"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"}}},"level":"info","message":"received a callback","requestID":"98a16b6b169d7717a188469b5a11f4ee"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7e24b930-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe0b4f29-e20a-45b3-b920-9a611dc7e94a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ff034ad-d6b8-4bfd-a18e-34bce48565c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832194.6319509} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.117029,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e24b930-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","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":"7e24b930-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7e24b930-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a 200 10ms","method":"GET","requestID":"7e24b930-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"98a16b6b169d7717a188469b5a11f4ee","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"98a16b6b169d7717a188469b5a11f4ee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e2be520-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3fab3ac-6a94-48bd-814a-3a6a0c9ae0cf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832194.6795566} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.693511,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e2be520-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","rebac_allow":false,"scope_allow":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":"7e2be520-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e2be520-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling 200 10ms","method":"POST","requestID":"7e2be520-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e2db9e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7dd691a-6697-4043-bb12-6d08b6006922","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832194.6908932} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.425338,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e2db9e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","rebac_allow":false,"scope_allow":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":"7e2db9e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e2db9e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling 200 10ms","method":"POST","requestID":"7e2db9e0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw","level":"info","message":"auth send jwt","requestID":"87a545c6a34691818ca606295bd1ce3e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87a545c6a34691818ca606295bd1ce3e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","requestID":"87a545c6a34691818ca606295bd1ce3e"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.17824,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87a545c6a34691818ca606295bd1ce3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832195,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87a545c6a34691818ca606295bd1ce3e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","requestID":"87a545c6a34691818ca606295bd1ce3e"} gateway-1 | {"time_local":"24/Mar/2025:16:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87a545c6a34691818ca606295bd1ce3e"} experiment-1 | {"level":"info","message":"GET /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868 200 15ms","method":"GET","requestID":"87a545c6a34691818ca606295bd1ce3e","responseTime":15,"status":200,"url":"/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw","level":"info","message":"auth send jwt","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.71638,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832195,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Attempting to finish experiment","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.667045,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832195,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a","device":"d88b436d-8874-4137-8a88-fca6927dd52c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"139a04b2-80bd-4104-af91-cdb7f997ceec","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/fe0b4f29-e20a-45b3-b920-9a611dc7e94a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fe0b4f29-e20a-45b3-b920-9a611dc7e94a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe0b4f29-e20a-45b3-b920-9a611dc7e94a': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffe0b4f29-e20a-45b3-b920-9a611dc7e94a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"43a1d35c-2100-48f7-a38e-0adb8819076f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.062823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef632417-4bd2-45d9-b5a1-3c7485bae425","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.063089} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88a16af742e32bb3f64fcd29671f94fa","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":"88a16af742e32bb3f64fcd29671f94fa","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"961526e0c18bb081f670a51c2f53c70e","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":"961526e0c18bb081f670a51c2f53c70e","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/d88b436d-8874-4137-8a88-fca6927dd52c"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"}}},"level":"info","message":"received a callback","requestID":"88a16af742e32bb3f64fcd29671f94fa"} 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":"connected","url":"http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"}}},"level":"info","message":"received a callback","requestID":"961526e0c18bb081f670a51c2f53c70e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a 204 44ms","method":"DELETE","requestID":"7e64cf70-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":204,"url":"/peerconnections/fe0b4f29-e20a-45b3-b920-9a611dc7e94a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"},"level":"info","message":"Successfully finished experiment","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e6f2fb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd88b436d-8874-4137-8a88-fca6927dd52c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc9a70d1-5c07-4995-8ca6-39b5741ba1d5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.122971} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.068171,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e6f2fb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d88b436d-8874-4137-8a88-fca6927dd52c","object_type":"device","rebac_allow":false,"scope_allow":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":"7e6f2fb0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e6f2fb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling 200 15ms","method":"POST","requestID":"7e6f2fb0-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/d88b436d-8874-4137-8a88-fca6927dd52c/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05c29fd8-1b19-45f8-90dc-e6abf1461868': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05c29fd8-1b19-45f8-90dc-e6abf1461868","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"04457e5b-a89c-417b-bf8e-2ab41cd3c495","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.1311421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c678f0ca-6df3-4970-8ca0-20a4967b9808","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.1321542} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e75bf60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F139a04b2-80bd-4104-af91-cdb7f997ceec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d76c6894-fc20-4c96-8aa2-20c6ba7359b9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.162225} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438256,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e75bf60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec","object_type":"device","rebac_allow":false,"scope_allow":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":"7e75bf60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e75bf60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling 200 9ms","method":"POST","requestID":"7e75bf60-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/139a04b2-80bd-4104-af91-cdb7f997ceec/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} gateway-1 | {"time_local":"24/Mar/2025:16:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d"} experiment-1 | {"level":"info","message":"DELETE /experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868 204 220ms","method":"DELETE","requestID":"2f9ddaed7b5fe5973c5b56bb1c194b5d","responseTime":220,"status":204,"url":"/experiments/05c29fd8-1b19-45f8-90dc-e6abf1461868"} gateway-1 | {"time_local":"24/Mar/2025:16:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2274","request_time":"4.451","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"9be5772b30169c92e68e3c12afa99355"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 196ms","method":"POST","requestID":"88a16af742e32bb3f64fcd29671f94fa","responseTime":196,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"88a16af742e32bb3f64fcd29671f94fa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 196ms","method":"POST","requestID":"961526e0c18bb081f670a51c2f53c70e","responseTime":196,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"961526e0c18bb081f670a51c2f53c70e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw","level":"info","message":"auth send jwt","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88357,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832195,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"3.085","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":"76efd263dd32f5ff411aaa460dcab6d2"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/139a04b2-80bd-4104-af91-cdb7f997ceec' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"113e404e-5aaf-48f5-87b2-091870cd7e49","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.3108885} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ca0add3-4ea4-4706-ad82-2f1f7cfed1fb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.3163784} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","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/d88b436d-8874-4137-8a88-fca6927dd52c' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"248fd116-6ea6-4303-a50c-448581a76ded","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.3551438} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e1521c4-c5db-4b17-9530-b6c455e73bb8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.3553767} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","responseTime":40,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"01984b8a-868b-4ed2-a04d-d933a16fe14c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.3596182} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2","responseTime":97,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe51d5c83a87bf3bdced0fae8fe465c2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw","level":"info","message":"auth send jwt","requestID":"00e4c8797eb320c82a539b0200dcf022"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"00e4c8797eb320c82a539b0200dcf022"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":24.816204,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"00e4c8797eb320c82a539b0200dcf022","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832195,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5NX0.SfqCiLXoXtr-4c_nGz1QzwbqddFERg0cr7acpNiqThw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"34a3bbfd-d824-4e32-b57e-1025b8f59717","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.404302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7a2c91a-febe-4f78-a086-75867ef09237","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.4087677} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"e6fd510e-6f33-4fe2-a67e-1e1670aa9b36","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.4423106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cdbb8fb-591d-4473-a19f-fb969008d4fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.442448} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":35,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.442293091Z"}]},"request_id":"7e4df150-a93c-4746-bdd8-decd306e1811","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832195.4462225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"00e4c8797eb320c82a539b0200dcf022"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00e4c8797eb320c82a539b0200dcf022"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"00e4c8797eb320c82a539b0200dcf022","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Nn0.PUBDOTHRMpH6qWohxlNPBBrH08JZKzEcbgpVNsMmMc8","level":"info","message":"auth send jwt","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:16Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915653,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832196,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Nn0.PUBDOTHRMpH6qWohxlNPBBrH08JZKzEcbgpVNsMmMc8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"e43c67c9-5997-48bb-bcf8-ea771befc477","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832196.331183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bced613c-3c51-421a-99c4-ca29e590bf6c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832196.3563097} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"b4e0a0d1-5171-42c6-8152-5466db3162f9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832196.370056} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d"} gateway-1 | {"time_local":"24/Mar/2025:16:03:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/18e23e38-c792-4634-b800-a150af54c105 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d"} device-1 | {"level":"info","message":"PATCH /devices/18e23e38-c792-4634-b800-a150af54c105 200 50ms","method":"PATCH","requestID":"a04458d18c8ef2aeb5d8fc48f76ab67d","responseTime":50,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Nn0.PUBDOTHRMpH6qWohxlNPBBrH08JZKzEcbgpVNsMmMc8","level":"info","message":"auth send jwt","requestID":"7fff028167284efacde3e69328ebcda2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7fff028167284efacde3e69328ebcda2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7fff028167284efacde3e69328ebcda2"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:16Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730165,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7fff028167284efacde3e69328ebcda2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832196,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5Nn0.PUBDOTHRMpH6qWohxlNPBBrH08JZKzEcbgpVNsMmMc8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7fff028167284efacde3e69328ebcda2","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7fff028167284efacde3e69328ebcda2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"7fff028167284efacde3e69328ebcda2"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/websocket 200 40ms","method":"POST","requestID":"7fff028167284efacde3e69328ebcda2","responseTime":40,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b2c528235835652b99960f74c4cbf3df","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":"b2c528235835652b99960f74c4cbf3df","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/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":"b2c528235835652b99960f74c4cbf3df"} device-1 | {"level":"info","message":"OPTIONS /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/websocket 200 1ms","method":"OPTIONS","requestID":"b2c528235835652b99960f74c4cbf3df","responseTime":1,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c","level":"info","message":"auth send jwt","requestID":"34881b7f474f32da0ac42cad9c367967"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"34881b7f474f32da0ac42cad9c367967","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"34881b7f474f32da0ac42cad9c367967"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330474,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"34881b7f474f32da0ac42cad9c367967","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"34881b7f474f32da0ac42cad9c367967","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"34881b7f474f32da0ac42cad9c367967"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/websocket 200 33ms","method":"POST","requestID":"34881b7f474f32da0ac42cad9c367967","responseTime":33,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","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":"34881b7f474f32da0ac42cad9c367967"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c","level":"info","message":"auth send jwt","requestID":"bdfa236d24a98d3608e73510d93a559a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bdfa236d24a98d3608e73510d93a559a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bdfa236d24a98d3608e73510d93a559a"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673636,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bdfa236d24a98d3608e73510d93a559a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bdfa236d24a98d3608e73510d93a559a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"99893851-4b3d-4959-8265-dedc86a83af3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832197.820461} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"bdfa236d24a98d3608e73510d93a559a","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bdfa236d24a98d3608e73510d93a559a"} device-1 | {"level":"info","message":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? 200 14ms","method":"GET","requestID":"bdfa236d24a98d3608e73510d93a559a","responseTime":14,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? 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":"bdfa236d24a98d3608e73510d93a559a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c","level":"info","message":"auth send jwt","requestID":"4177d85553a07473e48d6e102a92fd89"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4177d85553a07473e48d6e102a92fd89","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4177d85553a07473e48d6e102a92fd89"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703993,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4177d85553a07473e48d6e102a92fd89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4177d85553a07473e48d6e102a92fd89","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.442293091Z"}]},"request_id":"65b62969-c01d-4206-aa2c-154cda63f3ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832197.8387287} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4177d85553a07473e48d6e102a92fd89","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4177d85553a07473e48d6e102a92fd89"} device-1 | {"level":"info","message":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? 200 10ms","method":"GET","requestID":"4177d85553a07473e48d6e102a92fd89","responseTime":10,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? 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":"4177d85553a07473e48d6e102a92fd89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c","level":"info","message":"auth send jwt","requestID":"2c06d7adba47ef183e714c57aa912d42"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c06d7adba47ef183e714c57aa912d42","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2c06d7adba47ef183e714c57aa912d42"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.950651,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2c06d7adba47ef183e714c57aa912d42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c06d7adba47ef183e714c57aa912d42","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to run experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to book experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully booked experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635317,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.049962,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"9245907c-112b-4ff2-9a48-301c37cbaac8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832197.9432628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.442293091Z"}]},"request_id":"301cd810-9262-4b4d-929b-6a571c102bc1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832197.9466655} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? 200 33ms","method":"GET","requestID":"801a47a0-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? 200 34ms","method":"GET","requestID":"801a6eb0-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Setting up experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully set up experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"802d3360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully running experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941757,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"802dcfa0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"802d3360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"802d3360-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700137,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03: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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.442293091Z"}]},"request_id":"b66c25fc-099f-41c6-b566-dffeeb4dda94","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0514362} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"5068f5cf-3605-49d2-b037-97275e9aadc7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0530863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"802d3360-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92d08cae-1602-4216-a6fe-afdf0ea107c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0540748} device-1 | {"level":"info","message":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? 200 43ms","method":"GET","requestID":"802d5a70-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5?"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.839843,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"802d3360-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"802dcfa0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","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":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? 200 45ms","method":"GET","requestID":"802d3360-08c9-11f0-a656-5b8621d22e82","responseTime":45,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105?"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"802dcfa0-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19656c05-243f-4b3b-a8c9-fcae40cd72ed#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19656c05-243f-4b3b-a8c9-fcae40cd72ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"48e20093-0932-4693-98a0-0207acbdb4e3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0809288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af635892-0656-4559-b846-bbbb15c94208","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0811818} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"2c06d7adba47ef183e714c57aa912d42","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80348660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"802dcfa0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/signaling 200 44ms","method":"POST","requestID":"802dcfa0-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8034fb90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"582227c0-9ced-4b31-b4bb-3adba181b888","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0903957} experiment-1 | {"data":{"experiment":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2c06d7adba47ef183e714c57aa912d42"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.511152,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"level":"info","message":"POST /experiments? 201 245ms","method":"POST","requestID":"2c06d7adba47ef183e714c57aa912d42","responseTime":245,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"80348660-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","rebac_allow":false,"scope_allow":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":"80348660-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8254860-046e-4334-b7ca-06d1a6b986e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.0938199} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.562647,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8034fb90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"8034fb90-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80348660-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5OH0.yA2BjSn8zg_IKAeYx0FohYhHUo8-aMqMl-sn5JZaR2E","level":"info","message":"auth send jwt","requestID":"d9e3c918ddb67fd957752a3e7d468d6c"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/signaling 200 10ms","method":"POST","requestID":"80348660-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d9e3c918ddb67fd957752a3e7d468d6c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80365b20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9e3c918ddb67fd957752a3e7d468d6c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8034fb90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling 200 12ms","method":"POST","requestID":"8034fb90-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776101,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d9e3c918ddb67fd957752a3e7d468d6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832198,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5OH0.yA2BjSn8zg_IKAeYx0FohYhHUo8-aMqMl-sn5JZaR2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d9e3c918ddb67fd957752a3e7d468d6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1441e45f-6e8c-4b53-b73e-daf8dc197036","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.1021378} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507554,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"80365b20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"80365b20-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.355124499Z"}]},"request_id":"b8091ae1-68d3-4599-8584-5559a0b08c02","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.1303062} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80365b20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling 200 33ms","method":"POST","requestID":"80365b20-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d9e3c918ddb67fd957752a3e7d468d6c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Building connection plan","requestID":"2c06d7adba47ef183e714c57aa912d42"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"60f43fca-69b2-411d-b40e-7da3013b07ea"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"91a98fe2-a145-4e59-9d4f-8232b2e07e78"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e141527e-5dd0-4969-b761-a349256f8a5a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2c06d7adba47ef183e714c57aa912d42"} 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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2c06d7adba47ef183e714c57aa912d42"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9e3c918ddb67fd957752a3e7d468d6c"} gateway-1 | {"time_local":"24/Mar/2025:16:03:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9e3c918ddb67fd957752a3e7d468d6c"} device-1 | {"level":"info","message":"GET /devices/18e23e38-c792-4634-b800-a150af54c105? 200 34ms","method":"GET","requestID":"d9e3c918ddb67fd957752a3e7d468d6c","responseTime":34,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5OH0.yA2BjSn8zg_IKAeYx0FohYhHUo8-aMqMl-sn5JZaR2E","level":"info","message":"auth send jwt","requestID":"45d9f77b51afc316521f32202635d6b2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"45d9f77b51afc316521f32202635d6b2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.961856,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45d9f77b51afc316521f32202635d6b2"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"803bd960-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832197,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5N30.kRNGuJvv81z51gPA-fz7D3l3p0VsdnvYRO5BENqUh1c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655337,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"45d9f77b51afc316521f32202635d6b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832198,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjE5OH0.yA2BjSn8zg_IKAeYx0FohYhHUo8-aMqMl-sn5JZaR2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"45d9f77b51afc316521f32202635d6b2","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:15.442293091Z"}]},"request_id":"0a6ff633-11c1-44f5-9eb1-27613ec8265d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.144482} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45d9f77b51afc316521f32202635d6b2","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"95420f9a-b784-484d-b500-c288b2e5b729","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.1455896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d3b51af-4949-44eb-a5bc-d71b02aa37cb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.1457818} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45d9f77b51afc316521f32202635d6b2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45d9f77b51afc316521f32202635d6b2"} device-1 | {"level":"info","message":"GET /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5? 200 10ms","method":"GET","requestID":"45d9f77b51afc316521f32202635d6b2","responseTime":10,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8'","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8'","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"803bd960-08c9-11f0-a656-5b8621d22e82","responseTime":53,"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":"803bd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","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/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2c06d7adba47ef183e714c57aa912d42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"804b1ba0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75b4bb5a-11e1-432a-83fe-4667a715a978","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.2381532} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.649864,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"804b1ba0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","rebac_allow":false,"scope_allow":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":"804b1ba0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"804b1ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/signaling 200 8ms","method":"POST","requestID":"804b1ba0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"804ca240-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3faf37d-581a-457e-84d3-d46adfb498db","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832198.2484975} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.794367,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"804ca240-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"804ca240-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"804ca240-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling 200 34ms","method":"POST","requestID":"804ca240-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling"} device-1 | {"device":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7333242915079774959 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:mIoT\r\na=ice-pwd:kRtLdy9ItuJjOw+Xf2CN5Kmp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2D:8D:F7:2C:74:A4:0B:5A:79:0A:B2:F8:CA:59:B6:64:CB:E3:EB:0F:98:73:13:95:13:60:4E:C9:DF:19:09:F6\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3485928604 1 udp 2113937151 c950e77b-923f-4090-a806-88ef8240387a.local 56784 typ host generation 0 ufrag mIoT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6605ca9d8ad23378670e34bf9e847426","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":"6605ca9d8ad23378670e34bf9e847426","responseTime":0,"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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"}}},"level":"info","message":"received a callback","requestID":"6605ca9d8ad23378670e34bf9e847426"} device-1 | {"device":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"6605ca9d8ad23378670e34bf9e847426","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"6605ca9d8ad23378670e34bf9e847426"} device-1 | {"data":{"peerconnection":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","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/eb128268-60d9-4ef4-8db6-34e30112b2c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aed0e31cc200455d18e065290049fff4","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":"aed0e31cc200455d18e065290049fff4","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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"}}},"level":"info","message":"received a callback","requestID":"aed0e31cc200455d18e065290049fff4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8185be80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb128268-60d9-4ef4-8db6-34e30112b2c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7abe08a8-b677-4acd-bf32-6279dc0689df","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.3007848} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.78864,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8185be80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","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":"8185be80-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8185be80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8 200 9ms","method":"GET","requestID":"8185be80-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"aed0e31cc200455d18e065290049fff4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"aed0e31cc200455d18e065290049fff4","responseTime":34,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"818a2b50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6874b723-9dbe-4411-acd2-9ac426b1567a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.3404355} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799671,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"818a2b50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"818a2b50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"818a2b50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling 200 20ms","method":"POST","requestID":"818a2b50-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"818d86b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"836c1857-a937-4483-af78-deb0e64a4221","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.3519003} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559043,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"818d86b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","object_type":"device","rebac_allow":false,"scope_allow":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":"818d86b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"818d86b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/signaling 200 9ms","method":"POST","requestID":"818d86b0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4","level":"info","message":"auth send jwt","requestID":"980c0c031110ec654745817b55d5a8c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"980c0c031110ec654745817b55d5a8c9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","requestID":"980c0c031110ec654745817b55d5a8c9"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.625053,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"980c0c031110ec654745817b55d5a8c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832200,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"980c0c031110ec654745817b55d5a8c9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","requestID":"980c0c031110ec654745817b55d5a8c9"} experiment-1 | {"level":"info","message":"GET /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed 200 11ms","method":"GET","requestID":"980c0c031110ec654745817b55d5a8c9","responseTime":11,"status":200,"url":"/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"} gateway-1 | {"time_local":"24/Mar/2025:16:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"980c0c031110ec654745817b55d5a8c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4","level":"info","message":"auth send jwt","requestID":"e5bab3009f398b7d86490e8a098d82a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5bab3009f398b7d86490e8a098d82a1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","requestID":"e5bab3009f398b7d86490e8a098d82a1"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689965,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e5bab3009f398b7d86490e8a098d82a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832200,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5bab3009f398b7d86490e8a098d82a1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Attempting to finish experiment","requestID":"e5bab3009f398b7d86490e8a098d82a1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.162751,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832200,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8","device":"6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"18e23e38-c792-4634-b800-a150af54c105","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/eb128268-60d9-4ef4-8db6-34e30112b2c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb128268-60d9-4ef4-8db6-34e30112b2c8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb128268-60d9-4ef4-8db6-34e30112b2c8': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb128268-60d9-4ef4-8db6-34e30112b2c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"b76082e3-bee2-4442-af1f-91750952db3f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.6078215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2222a83c-2a36-4006-a4f4-32e8266cc7ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.608047} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d2a7c398d8c56c0540e1becc58d83210","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":"d2a7c398d8c56c0540e1becc58d83210","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"94784cd9102d9e0320f7f62b7795da53","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":"94784cd9102d9e0320f7f62b7795da53","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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"}}},"level":"info","message":"received a callback","requestID":"d2a7c398d8c56c0540e1becc58d83210"} 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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"}}},"level":"info","message":"received a callback","requestID":"94784cd9102d9e0320f7f62b7795da53"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8 204 48ms","method":"DELETE","requestID":"81b225b0-08c9-11f0-a656-5b8621d22e82","responseTime":48,"status":204,"url":"/peerconnections/eb128268-60d9-4ef4-8db6-34e30112b2c8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"},"level":"info","message":"Successfully finished experiment","requestID":"e5bab3009f398b7d86490e8a098d82a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"81bf9330-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8aa3a605-4161-4e06-a99a-266f800a4609","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.6795945} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.536264,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"81bf9330-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"81bf9330-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"81bf9330-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling 200 8ms","method":"POST","requestID":"81bf9330-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"81c119d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19656c05-243f-4b3b-a8c9-fcae40cd72ed': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19656c05-243f-4b3b-a8c9-fcae40cd72ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"d32a4713-39c9-47c3-a44d-d66daac3b5c1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.6886914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b113e454-adf8-4e05-a82b-eaf8ffe482c6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.688893} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"e5bab3009f398b7d86490e8a098d82a1","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18e23e38-c792-4634-b800-a150af54c105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09d441d7-71c2-492a-8a0a-a9c7a3b09b4b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.6909177} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.332926,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"81c119d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18e23e38-c792-4634-b800-a150af54c105","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 succeeded","requestID":"81c119d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"81c119d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/18e23e38-c792-4634-b800-a150af54c105/signaling 200 11ms","method":"POST","requestID":"81c119d0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/18e23e38-c792-4634-b800-a150af54c105/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed","requestID":"e5bab3009f398b7d86490e8a098d82a1"} gateway-1 | {"time_local":"24/Mar/2025:16:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5bab3009f398b7d86490e8a098d82a1"} experiment-1 | {"level":"info","message":"DELETE /experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed 204 214ms","method":"DELETE","requestID":"e5bab3009f398b7d86490e8a098d82a1","responseTime":214,"status":204,"url":"/experiments/19656c05-243f-4b3b-a8c9-fcae40cd72ed"} gateway-1 | {"time_local":"24/Mar/2025:16:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2274","request_time":"4.371","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0a602938cee603aef2b56697391911bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"d2a7c398d8c56c0540e1becc58d83210","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"d2a7c398d8c56c0540e1becc58d83210"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"94784cd9102d9e0320f7f62b7795da53","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"94784cd9102d9e0320f7f62b7795da53"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4","level":"info","message":"auth send jwt","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"3.028","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":"148d5b32bc5c57ba4553185a2fe6f2c4"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.016454,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832200,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","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/18e23e38-c792-4634-b800-a150af54c105' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba8a8c1e-316c-4077-862a-f2b2ad45e52a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.8372123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","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/6f69e4cb-e76d-4b4c-a419-a26cdc9cdaf5' 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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"246f3db8-edc7-4e5c-ba76-78f8e17bb0aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.866515} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7645204b-7199-471c-8f81-8a067000a1c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.879246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"515434ed-7307-49f4-8f89-439ed93611cf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.879433} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"da6e9b46-3cc7-4bdc-bc77-41946e369f30","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.8834622} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6","responseTime":66,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3fa7772a9cf1a6a11a4a0926d5e6bd6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4","level":"info","message":"auth send jwt","requestID":"b41410142559140729082a49b89dd0db"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"b41410142559140729082a49b89dd0db","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b41410142559140729082a49b89dd0db"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.789721,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b41410142559140729082a49b89dd0db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832200,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMH0.rxJtHSp543DpPdG23GxRMuNYpsSs417CfU3whGhk6n4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31191014-6f7b-4891-9e83-24ff05156da8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.9333003} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dbf879a-8d20-4d6c-a440-1e8b4fbea8de","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.9618273} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"749438e8-fcad-437a-88e5-0022d18845f3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.9715252} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a15f3dad-1775-4ade-ba47-03756434d1e6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.9717424} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"51747558-142b-4437-8d7a-7c4ec82f3c8e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832200.9756498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b41410142559140729082a49b89dd0db"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"b41410142559140729082a49b89dd0db","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b41410142559140729082a49b89dd0db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"2d6c64b133917dbad0bde7afaaadceaf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d6c64b133917dbad0bde7afaaadceaf","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"78b3cc01f362d4bb198ba521cca5ac0f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2d6c64b133917dbad0bde7afaaadceaf"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"78b3cc01f362d4bb198ba521cca5ac0f"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367328,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2d6c64b133917dbad0bde7afaaadceaf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2d6c64b133917dbad0bde7afaaadceaf","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800457,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"78b3cc01f362d4bb198ba521cca5ac0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"f1981bd7-1cb6-42ff-9bb1-73962a98d0d1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.8325832} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2d6c64b133917dbad0bde7afaaadceaf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"74f88af4-86d4-49cc-b89a-25d128702183","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.833226} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2e9d460-3c40-4e28-8e25-cb7c9951f923","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.8370414} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2d6c64b133917dbad0bde7afaaadceaf","responseTime":3,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4df1bfa5-d372-4fef-ae4e-610e3b4a6596","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.8381722} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"ae3a37e6-4a62-425a-999b-15084a25cf94","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.840469} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"78b3cc01f362d4bb198ba521cca5ac0f"} gateway-1 | {"time_local":"24/Mar/2025:16:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"78b3cc01f362d4bb198ba521cca5ac0f"} device-1 | {"level":"info","message":"PATCH /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40 200 42ms","method":"PATCH","requestID":"78b3cc01f362d4bb198ba521cca5ac0f","responseTime":42,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"ab28575830035007970a192860f8cdb4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab28575830035007970a192860f8cdb4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ab28575830035007970a192860f8cdb4"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675242,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ab28575830035007970a192860f8cdb4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"ab28575830035007970a192860f8cdb4","responseTime":26,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"34d14a9a-2052-411c-a052-22900930fd6e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.8841286} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d6c64b133917dbad0bde7afaaadceaf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2d6c64b133917dbad0bde7afaaadceaf"} gateway-1 | {"time_local":"24/Mar/2025:16:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/11de77e2-1008-41d5-92c1-521ceed75177 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2d6c64b133917dbad0bde7afaaadceaf"} device-1 | {"level":"info","message":"PATCH /devices/11de77e2-1008-41d5-92c1-521ceed75177 200 88ms","method":"PATCH","requestID":"2d6c64b133917dbad0bde7afaaadceaf","responseTime":88,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"1548efe557ba5220ddd55278cd5ce945"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1548efe557ba5220ddd55278cd5ce945","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1548efe557ba5220ddd55278cd5ce945"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735465,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ab28575830035007970a192860f8cdb4"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1548efe557ba5220ddd55278cd5ce945","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} gateway-1 | {"time_local":"24/Mar/2025:16:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ab28575830035007970a192860f8cdb4"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/websocket 200 48ms","method":"POST","requestID":"ab28575830035007970a192860f8cdb4","responseTime":48,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1548efe557ba5220ddd55278cd5ce945","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1548efe557ba5220ddd55278cd5ce945"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/websocket 200 41ms","method":"POST","requestID":"1548efe557ba5220ddd55278cd5ce945","responseTime":41,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"1548efe557ba5220ddd55278cd5ce945"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"8f1aae5cc52672185df2672e2cfd6cb0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8f1aae5cc52672185df2672e2cfd6cb0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f1aae5cc52672185df2672e2cfd6cb0"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698595,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8f1aae5cc52672185df2672e2cfd6cb0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8f1aae5cc52672185df2672e2cfd6cb0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"6d64441f-7b59-4a67-ab81-0997e8a07738","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832201.9791367} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8f1aae5cc52672185df2672e2cfd6cb0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f1aae5cc52672185df2672e2cfd6cb0"} gateway-1 | {"time_local":"24/Mar/2025:16:03:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f1aae5cc52672185df2672e2cfd6cb0"} device-1 | {"level":"info","message":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? 200 9ms","method":"GET","requestID":"8f1aae5cc52672185df2672e2cfd6cb0","responseTime":9,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8","level":"info","message":"auth send jwt","requestID":"6e6bd7bf113e9f73e5d575e2878221ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6e6bd7bf113e9f73e5d575e2878221ef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6e6bd7bf113e9f73e5d575e2878221ef"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6e6bd7bf113e9f73e5d575e2878221ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832201,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMX0.FrMxS8RNgF5moZIaPvEpSjwb3HUz4k2ZlFeEPj2hOQ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6e6bd7bf113e9f73e5d575e2878221ef","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"08b38939-e4a3-4724-8669-d19b4055d24e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.0189342} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6e6bd7bf113e9f73e5d575e2878221ef","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6e6bd7bf113e9f73e5d575e2878221ef"} gateway-1 | {"time_local":"24/Mar/2025:16:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e6bd7bf113e9f73e5d575e2878221ef"} device-1 | {"level":"info","message":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? 200 35ms","method":"GET","requestID":"6e6bd7bf113e9f73e5d575e2878221ef","responseTime":35,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ","level":"info","message":"auth send jwt","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.695364,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6d7a06aa6b404aa463c14d2b6b6c0781","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to run experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to book experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully booked experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8296b950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8296e060-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757374,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8296b950-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8296b950-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.729066,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8296e060-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8296e060-08c9-11f0-a656-5b8621d22e82","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"71d215cb-3ea2-4631-9407-52c62d474da8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.1164064} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8296b950-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"1b568412-cdb7-40d5-b683-7bb0418e858f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.1171885} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8296e060-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8296b950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? 200 36ms","method":"GET","requestID":"8296b950-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8296e060-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? 200 35ms","method":"GET","requestID":"8296e060-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Setting up experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully set up experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully running experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82a670c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941572,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.651181,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729707,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"6b28678a-f48d-4b4d-84ba-2c87e31728f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2187364} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b671638b-73c8-4aba-becb-915546d5dbf4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2188559} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82a670c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","rebac_allow":false,"scope_allow":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":"82a670c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"12c408a9-6718-46dc-9446-e89ea192cfbe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2197952} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02d2fba1-14aa-48b5-a385-bcb8acbdc04e#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02d2fba1-14aa-48b5-a385-bcb8acbdc04e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"b018b9e2-a26c-4f1f-b3a7-3e7c1d6a24dc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2242482} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? 200 39ms","method":"GET","requestID":"82a622a0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d117e0b-10fd-4899-9789-54bc324c47ff","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2245336} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82a670c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling 200 38ms","method":"POST","requestID":"82a670c0-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? 200 43ms","method":"GET","requestID":"82a5d480-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82acd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82ad0070-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4b0ba26-ec9b-4a66-a195-36c57a7b0adc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2357385} gateway-1 | {"time_local":"24/Mar/2025:16:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f7a9458-a194-425b-af5c-4f16c33344d3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2365885} experiment-1 | {"level":"info","message":"POST /experiments? 201 209ms","method":"POST","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781","responseTime":209,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.159072,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82acd960-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"82acd960-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.315316,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82ad0070-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ","level":"info","message":"auth send jwt","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"82ad0070-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82acd960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling 200 35ms","method":"POST","requestID":"82acd960-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82ad0070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling 200 37ms","method":"POST","requestID":"82ad0070-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82b2f3e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.879227357Z"}]},"request_id":"594f6249-5c36-4920-bb0a-e1f2a16eeb12","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2746973} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0cc8a8bd-130a-4aad-b445-af5b2084e3c8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.2748327} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.221116,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82b2f3e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","rebac_allow":false,"scope_allow":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":"82b2f3e0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6"} gateway-1 | {"time_local":"24/Mar/2025:16:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6"} device-1 | {"level":"info","message":"GET /devices/11de77e2-1008-41d5-92c1-521ceed75177? 200 40ms","method":"GET","requestID":"d411b8eaa5b45ed3bbc8b65a03db15a6","responseTime":40,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82b2f3e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling 200 39ms","method":"POST","requestID":"82b2f3e0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Building connection plan","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"d819d944-f8e4-4449-b45a-fe04464bf5ef"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3b3098e6-15bb-48f1-b387-b6cab9e024de"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"0f96df8c-1f98-41a6-9007-bdb832d16e34"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} 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/fce05091-bc10-43e0-8d4d-7d0adb32ee40"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ","level":"info","message":"auth send jwt","requestID":"c372b1028819d9e410d6d2388116180b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c372b1028819d9e410d6d2388116180b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c372b1028819d9e410d6d2388116180b"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:48352","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.855875,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595607,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c372b1028819d9e410d6d2388116180b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832202,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwMn0.pPmkSdejd4QnZJkg4yNw2OuB9V2eYSTBn9KPRMnJOfQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c372b1028819d9e410d6d2388116180b","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:20.971505847Z"}]},"request_id":"131210d7-2333-40e8-b6ca-86ac4621e8bb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.3262265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c372b1028819d9e410d6d2388116180b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c372b1028819d9e410d6d2388116180b"} gateway-1 | {"time_local":"24/Mar/2025:16:03:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c372b1028819d9e410d6d2388116180b"} device-1 | {"level":"info","message":"GET /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40? 200 40ms","method":"GET","requestID":"c372b1028819d9e410d6d2388116180b","responseTime":40,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"be3f1158-51bd-4dc0-9482-7ccd2061a860","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.3551507} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"220e5b2c-b009-471c-a4c3-251331a3c71a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.3553724} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515'","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515'","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 63ms","method":"POST","requestID":"82b95c80-08c9-11f0-a656-5b8621d22e82","responseTime":63,"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":"82b95c80-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6d7a06aa6b404aa463c14d2b6b6c0781"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82cac1a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74539bbf-5879-45d8-ac07-01892f93fc5f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.450795} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467448,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82cac1a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"82cac1a0-08c9-11f0-a656-5b8621d22e82","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82cac1a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling 200 28ms","method":"POST","requestID":"82cac1a0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82cf5580-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edf4f689-238f-4cde-bc94-4531df94673e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832202.4605298} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.254138,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82cf5580-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","rebac_allow":false,"scope_allow":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":"82cf5580-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82cf5580-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling 200 8ms","method":"POST","requestID":"82cf5580-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling"} device-1 | {"device":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4322b4678ad5059ac1b9c0b95cd43f31","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":"4322b4678ad5059ac1b9c0b95cd43f31","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/fce05091-bc10-43e0-8d4d-7d0adb32ee40"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"}}},"level":"info","message":"received a callback","requestID":"4322b4678ad5059ac1b9c0b95cd43f31"} device-1 | {"device":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 6ms","method":"POST","requestID":"4322b4678ad5059ac1b9c0b95cd43f31","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"4322b4678ad5059ac1b9c0b95cd43f31"} device-1 | {"device":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","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/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5da55129811fc5b8c9107a89ca348ab3","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":"5da55129811fc5b8c9107a89ca348ab3","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/fce05091-bc10-43e0-8d4d-7d0adb32ee40"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"}}},"level":"info","message":"received a callback","requestID":"5da55129811fc5b8c9107a89ca348ab3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"84071230-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa36b05a4-ff1b-4d5f-bfae-f5501cd7e515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05365c7a-4781-4c6a-8167-f26579472ddc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.5036743} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.402674,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"84071230-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","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":"84071230-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"84071230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515 200 8ms","method":"GET","requestID":"84071230-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"5da55129811fc5b8c9107a89ca348ab3","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"5da55129811fc5b8c9107a89ca348ab3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"840abbb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8e5c820-df7c-4c5b-bc16-539fc0ef13aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.527905} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283129,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"840abbb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","rebac_allow":false,"scope_allow":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":"840abbb0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"840abbb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling 200 9ms","method":"POST","requestID":"840abbb0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"840c6960-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.056328,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75668009-d8e2-4df9-a8e1-5b08d8e4bb99","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.5381703} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"840c6960-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"840c6960-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"840c6960-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling 200 30ms","method":"POST","requestID":"840c6960-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4","level":"info","message":"auth send jwt","requestID":"612f4dd05d4a4f16af500d5c2410f9c5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"612f4dd05d4a4f16af500d5c2410f9c5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","requestID":"612f4dd05d4a4f16af500d5c2410f9c5"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.889086,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"612f4dd05d4a4f16af500d5c2410f9c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832204,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"612f4dd05d4a4f16af500d5c2410f9c5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","requestID":"612f4dd05d4a4f16af500d5c2410f9c5"} experiment-1 | {"level":"info","message":"GET /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e 200 10ms","method":"GET","requestID":"612f4dd05d4a4f16af500d5c2410f9c5","responseTime":10,"status":200,"url":"/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"} gateway-1 | {"time_local":"24/Mar/2025:16:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"612f4dd05d4a4f16af500d5c2410f9c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4","level":"info","message":"auth send jwt","requestID":"916e80f9d7e972f1ada62e9409d17040"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"916e80f9d7e972f1ada62e9409d17040","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","requestID":"916e80f9d7e972f1ada62e9409d17040"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.903408,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"916e80f9d7e972f1ada62e9409d17040","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832204,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"916e80f9d7e972f1ada62e9409d17040","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Attempting to finish experiment","requestID":"916e80f9d7e972f1ada62e9409d17040"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"842bff50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.94003,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"842bff50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832204,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"842bff50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"fce05091-bc10-43e0-8d4d-7d0adb32ee40","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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"}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9cf5734-3341-4443-a4cc-0fc9dcacf092","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.75506} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa36b05a4-ff1b-4d5f-bfae-f5501cd7e515': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa36b05a4-ff1b-4d5f-bfae-f5501cd7e515","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"2ed55be8-1b07-42af-b9f7-ef34488ebb95","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.7553244} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a36b05a4-ff1b-4d5f-bfae-f5501cd7e515","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"842bff50-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e61727c59f3d5859d8767acb550c5f37","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":"e61727c59f3d5859d8767acb550c5f37","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"11de77e2-1008-41d5-92c1-521ceed75177","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b25788604cdce84c9dbf3519e37e71f","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":"9b25788604cdce84c9dbf3519e37e71f","responseTime":0,"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/fce05091-bc10-43e0-8d4d-7d0adb32ee40"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"}}},"level":"info","message":"received a callback","requestID":"e61727c59f3d5859d8767acb550c5f37"} 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/fce05091-bc10-43e0-8d4d-7d0adb32ee40"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"}}},"level":"info","message":"received a callback","requestID":"9b25788604cdce84c9dbf3519e37e71f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"842bff50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515 204 21ms","method":"DELETE","requestID":"842bff50-08c9-11f0-a656-5b8621d22e82","responseTime":21,"status":204,"url":"/peerconnections/a36b05a4-ff1b-4d5f-bfae-f5501cd7e515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"},"level":"info","message":"Successfully finished experiment","requestID":"916e80f9d7e972f1ada62e9409d17040"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8432b610-08c9-11f0-a656-5b8621d22e82"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177'"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffce05091-bc10-43e0-8d4d-7d0adb32ee40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17b2a899-9f7f-40e6-8d19-97427522f555","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.7896214} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28628,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8432b610-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40","object_type":"device","rebac_allow":false,"scope_allow":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":"8432b610-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8432b610-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling 200 9ms","method":"POST","requestID":"8432b610-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"84343cb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02d2fba1-14aa-48b5-a385-bcb8acbdc04e': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02d2fba1-14aa-48b5-a385-bcb8acbdc04e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"7293927b-a678-4c3f-8781-fe13d0371ecf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.8000445} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11de77e2-1008-41d5-92c1-521ceed75177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d26e6b28-9a24-4e92-9558-0a1df747e8d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.8003917} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5ca7a64-adbb-4610-addc-91f82bcb9d78","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.8005471} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.321704,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"84343cb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11de77e2-1008-41d5-92c1-521ceed75177","object_type":"device","rebac_allow":false,"scope_allow":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":"84343cb0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"916e80f9d7e972f1ada62e9409d17040","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"84343cb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling 200 10ms","method":"POST","requestID":"84343cb0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/11de77e2-1008-41d5-92c1-521ceed75177/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e","requestID":"916e80f9d7e972f1ada62e9409d17040"} gateway-1 | {"time_local":"24/Mar/2025:16:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"916e80f9d7e972f1ada62e9409d17040"} experiment-1 | {"level":"info","message":"DELETE /experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e 204 122ms","method":"DELETE","requestID":"916e80f9d7e972f1ada62e9409d17040","responseTime":122,"status":204,"url":"/experiments/02d2fba1-14aa-48b5-a385-bcb8acbdc04e"} gateway-1 | {"time_local":"24/Mar/2025:16:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"2.919","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"ea6d1ba86cb79220e0f1c5a9f12e26e2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2146","request_time":"2.956","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3ab3e2ad1da16cce07780e2db4d03408"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 94ms","method":"POST","requestID":"e61727c59f3d5859d8767acb550c5f37","responseTime":94,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.097","http_referrer":"","http_user_agent":"node-fetch","requestID":"e61727c59f3d5859d8767acb550c5f37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 94ms","method":"POST","requestID":"9b25788604cdce84c9dbf3519e37e71f","responseTime":94,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.097","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b25788604cdce84c9dbf3519e37e71f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4","level":"info","message":"auth send jwt","requestID":"d4e61f50410a54feec8845f943647997"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4e61f50410a54feec8845f943647997","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d4e61f50410a54feec8845f943647997"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fce05091-bc10-43e0-8d4d-7d0adb32ee40' closed"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.867229,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d4e61f50410a54feec8845f943647997","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832204,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","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/11de77e2-1008-41d5-92c1-521ceed75177' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aff1f084-0814-4b6d-bb18-ea53421d0444","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.9024544} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62a8b24b-0dcf-4731-bafb-19115839aa74","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.9076002} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"cc73663f-203a-4208-affa-84b98b452d4a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.9186223} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b45e349c-f96c-460f-9fca-2545bf26223f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.9189186} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:24.918601682Z"}]},"request_id":"8f616ae6-5c73-42b9-9142-a15d201c70dd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832204.9478858} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d4e61f50410a54feec8845f943647997"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"d4e61f50410a54feec8845f943647997","responseTime":90,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4e61f50410a54feec8845f943647997"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4","level":"info","message":"auth send jwt","requestID":"2f2dffd1ae0d42128a250b19e8d02302"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f2dffd1ae0d42128a250b19e8d02302","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2f2dffd1ae0d42128a250b19e8d02302"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.748698,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2f2dffd1ae0d42128a250b19e8d02302","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832204,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwNH0.IMyxGsAE2ZUaL6YHNRUxkWW3eeMVzGRQHTWJiIdQJz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"89c77228-6215-4f57-9282-960680b91021","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832205.0034597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae1bf495-8937-4b04-8b17-417c2e0ee711","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832205.0085878} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"c2290ddd-06d1-4ef7-abf7-2af10d236e55","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832205.0190785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7baa1c8-1d8b-4726-81d8-12c07745b720","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832205.0192735} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","responseTime":37,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:25.019052110Z"}]},"request_id":"feb6c606-f9e3-4cf7-9d5a-e3b6cf35af6e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832205.0478356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2f2dffd1ae0d42128a250b19e8d02302"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"2f2dffd1ae0d42128a250b19e8d02302","responseTime":95,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f2dffd1ae0d42128a250b19e8d02302"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bea7e1b87ce84be4b0bf41d1f4d6750d","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":"bea7e1b87ce84be4b0bf41d1f4d6750d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/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":"bea7e1b87ce84be4b0bf41d1f4d6750d"} device-1 | {"level":"info","message":"OPTIONS /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/websocket 200 1ms","method":"OPTIONS","requestID":"bea7e1b87ce84be4b0bf41d1f4d6750d","responseTime":1,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17b4bc30c69c8ecf50d714f38cb9ee58","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)"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/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":"17b4bc30c69c8ecf50d714f38cb9ee58"} device-1 | {"level":"info","message":"OPTIONS /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/websocket 200 1ms","method":"OPTIONS","requestID":"17b4bc30c69c8ecf50d714f38cb9ee58","responseTime":1,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"17b4bc30c69c8ecf50d714f38cb9ee58","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"5f03a3b4688f52750e431090e68e7bd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5f03a3b4688f52750e431090e68e7bd3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5f03a3b4688f52750e431090e68e7bd3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"12b76e5bd992a95455a4a9b1491b1301"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"12b76e5bd992a95455a4a9b1491b1301","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"12b76e5bd992a95455a4a9b1491b1301"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877402,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5f03a3b4688f52750e431090e68e7bd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5f03a3b4688f52750e431090e68e7bd3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755316,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"12b76e5bd992a95455a4a9b1491b1301","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"12b76e5bd992a95455a4a9b1491b1301","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"12b76e5bd992a95455a4a9b1491b1301"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","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":"12b76e5bd992a95455a4a9b1491b1301"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/websocket 200 15ms","method":"POST","requestID":"12b76e5bd992a95455a4a9b1491b1301","responseTime":15,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5f03a3b4688f52750e431090e68e7bd3"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","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":"5f03a3b4688f52750e431090e68e7bd3"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/websocket 200 40ms","method":"POST","requestID":"5f03a3b4688f52750e431090e68e7bd3","responseTime":40,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729982,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5886efb0d8b37f8af7b4fc5b7daf0855","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:24.918601682Z"}]},"request_id":"a610d2dc-131d-4e3f-b458-c288e93d9b53","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.4216218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 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":"5886efb0d8b37f8af7b4fc5b7daf0855"} device-1 | {"level":"info","message":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 200 16ms","method":"GET","requestID":"5886efb0d8b37f8af7b4fc5b7daf0855","responseTime":16,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"5c47b3b0e9251bca92313fdee4356d98"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c47b3b0e9251bca92313fdee4356d98","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c47b3b0e9251bca92313fdee4356d98"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678016,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5c47b3b0e9251bca92313fdee4356d98","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5c47b3b0e9251bca92313fdee4356d98","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:25.019052110Z"}]},"request_id":"5cc2a658-d49e-47a6-85d3-00f187191bbe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.4400775} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5c47b3b0e9251bca92313fdee4356d98","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c47b3b0e9251bca92313fdee4356d98"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 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":"5c47b3b0e9251bca92313fdee4356d98"} device-1 | {"level":"info","message":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 200 11ms","method":"GET","requestID":"5c47b3b0e9251bca92313fdee4356d98","responseTime":11,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"9ae5ab2795af82846d5704a16cca6acc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ae5ab2795af82846d5704a16cca6acc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9ae5ab2795af82846d5704a16cca6acc"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.011064,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ae5ab2795af82846d5704a16cca6acc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ae5ab2795af82846d5704a16cca6acc","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to run experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to book experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully booked experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611646,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.485694,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:24.918601682Z"}]},"request_id":"eddcfe55-686f-4a59-bcb5-dff799c1b668","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.5536468} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:25.019052110Z"}]},"request_id":"57683321-ed84-427b-927a-4da660444fd7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.554204} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 200 12ms","method":"GET","requestID":"85d801a0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 200 11ms","method":"GET","requestID":"85d84fc0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Setting up experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully set up experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85e7b910-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully running experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808271,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659291,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3b27669-9b00-446a-999f-8493913112b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.6557615} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.106794,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85e7b910-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"85e7b910-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:25.019052110Z"}]},"request_id":"fd7bb6f9-8860-4d27-9d0e-fe4a119846ee","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.6821728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:24.918601682Z"}]},"request_id":"75d84677-d566-4a5e-b3b7-4239211d4f3b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.6827831} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85e7b910-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling 200 39ms","method":"POST","requestID":"85e7b910-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92465653-d9a1-49da-870f-1f22b601966b#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92465653-d9a1-49da-870f-1f22b601966b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"35eb4cc3-eb1a-43ba-9a91-dc81b036a64b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.689622} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf38a375-21a5-43e3-8cd5-bf4e19ae77f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.6898913} device-1 | {"level":"info","message":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 200 43ms","method":"GET","requestID":"85e76af0-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85ee21b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"9ae5ab2795af82846d5704a16cca6acc","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 200 47ms","method":"GET","requestID":"85e743e0-08c9-11f0-a656-5b8621d22e82","responseTime":47,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3?"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb479260-9bf3-4f3d-8790-3e6d844599b8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.6955178} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.194927,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85ee21b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","rebac_allow":false,"scope_allow":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":"85ee21b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85ef5a30-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9ae5ab2795af82846d5704a16cca6acc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85ee21b0-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.257","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 253ms","method":"POST","requestID":"9ae5ab2795af82846d5704a16cca6acc","responseTime":253,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling 200 10ms","method":"POST","requestID":"85ee21b0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75871fcc-0144-4559-8937-d35d617ffea5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.7036183} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.439044,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"15dd7918f1d7c0096121957d822a56e6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85ef5a30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","rebac_allow":false,"scope_allow":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":"85ef5a30-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"15dd7918f1d7c0096121957d822a56e6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15dd7918f1d7c0096121957d822a56e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85ef5a30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling 200 14ms","method":"POST","requestID":"85ef5a30-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.013089,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"15dd7918f1d7c0096121957d822a56e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"15dd7918f1d7c0096121957d822a56e6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85f1f240-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:24.918601682Z"}]},"request_id":"2f259034-6bf1-4597-ba68-af0103dbe70e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.7201898} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"15dd7918f1d7c0096121957d822a56e6","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.911803,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"376c8f3e-49d3-435e-b9e2-6246049dd652","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.7210844} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85f1f240-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","rebac_allow":false,"scope_allow":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":"85f1f240-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15dd7918f1d7c0096121957d822a56e6"} device-1 | {"level":"info","message":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 200 14ms","method":"GET","requestID":"15dd7918f1d7c0096121957d822a56e6","responseTime":14,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85f1f240-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling 200 10ms","method":"POST","requestID":"85f1f240-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3? 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":"15dd7918f1d7c0096121957d822a56e6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A","level":"info","message":"auth send jwt","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675961,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Building connection plan","requestID":"9ae5ab2795af82846d5704a16cca6acc"} 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":"9de6b1c6-f67d-4974-bfb7-d36b6bc04103"},{"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":"1eaeea76-16a4-48e6-8aed-d187b4e8dce9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"83a1e387-39d1-4b4f-93c3-066c772cd20d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9ae5ab2795af82846d5704a16cca6acc"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bafbb370e0e6c2c3da47d7b782ca5c44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} 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/9e881c20-60f1-49a4-a863-a329fb2c1dc3"},{"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/9bf9aed1-74f8-4226-84a4-bae838db8e23"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9ae5ab2795af82846d5704a16cca6acc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:25.019052110Z"}]},"request_id":"325638bc-1d87-44ce-b75f-ab876710776b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.73767} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.685604,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832207,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwN30.VZ9ewLkM9P3_cSaJqCvy5GPbJTH9yymcBjWcj6SOq_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44"} gateway-1 | {"time_local":"24/Mar/2025:16:03:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 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":"bafbb370e0e6c2c3da47d7b782ca5c44"} device-1 | {"level":"info","message":"GET /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23? 200 12ms","method":"GET","requestID":"bafbb370e0e6c2c3da47d7b782ca5c44","responseTime":12,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"b73497ac-2de3-4bf7-a080-6375ee70eb93","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.7472305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b585baf2-aaf2-40cc-8cd7-023973e1bd6e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.747383} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60'","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60'","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} 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":"85f4ff80-08c9-11f0-a656-5b8621d22e82","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":"85f4ff80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","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 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","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/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9ae5ab2795af82846d5704a16cca6acc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85fec380-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca8f3a6f-9fd8-4344-9605-a2d50475e259","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.804424} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.388184,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"85fec380-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","rebac_allow":false,"scope_allow":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":"85fec380-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85fec380-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling 200 9ms","method":"POST","requestID":"85fec380-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86004a20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a03ee3b4-ff29-4be4-8e8f-6c16c63ea862","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.817776} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.714224,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"86004a20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","rebac_allow":false,"scope_allow":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":"86004a20-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86004a20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling 200 16ms","method":"POST","requestID":"86004a20-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling"} device-1 | {"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4048302076987292026 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:Z2NX\r\na=ice-pwd:6cRE16IsDUHb6aUrWl24mHEs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EB:E0:CB:95:C9:25:F4:5A:4B:08:B6:3A:DF:15:25:D0:B8:EE:15:2D:72:4E:31:0C:4D:1A:00:74:B2:AF:12:10\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1013463107965160289 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:6Z0X\r\na=ice-pwd:8Rw7HfuPJeOngKidmHsLL8tv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 88:1B:49:8D:36:D6:E3:AB:2A:40:6E:39:B1:40:1E:FB:CD:AC:99:77:5D:DD:12:EB:35:10:D3:CE:97:B6:5B:C4\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1469526793 1 udp 2113937151 d6f17aab-ef94-46ef-b2e7-7726d16d6c14.local 36821 typ host generation 0 ufrag 6Z0X network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","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/9e881c20-60f1-49a4-a863-a329fb2c1dc3'"} device-1 | {"content":{"candidate":"candidate:1829275407 1 udp 2113937151 5c05042a-d580-46be-92e9-3d6dbb694e16.local 58753 typ host generation 0 ufrag Z2NX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","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/488b5ebb-2c51-4d9e-bd33-605a18d8fe60' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"181eccde3ce819d4e006e5ba4c44258c","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":"181eccde3ce819d4e006e5ba4c44258c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","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":"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/9e881c20-60f1-49a4-a863-a329fb2c1dc3"},{"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/9bf9aed1-74f8-4226-84a4-bae838db8e23"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"}}},"level":"info","message":"received a callback","requestID":"181eccde3ce819d4e006e5ba4c44258c"} device-1 | {"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","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":"181eccde3ce819d4e006e5ba4c44258c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"181eccde3ce819d4e006e5ba4c44258c"} device-1 | {"device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","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/488b5ebb-2c51-4d9e-bd33-605a18d8fe60' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"842b19309fb661a0648765865752eefd","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":"842b19309fb661a0648765865752eefd","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/9e881c20-60f1-49a4-a863-a329fb2c1dc3"},{"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/9bf9aed1-74f8-4226-84a4-bae838db8e23"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"}}},"level":"info","message":"received a callback","requestID":"842b19309fb661a0648765865752eefd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8619c590-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488b5ebb-2c51-4d9e-bd33-605a18d8fe60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"842bee49-f918-4230-9fb8-a9eede4af80b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832207.9820657} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.247982,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8619c590-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","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":"8619c590-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8619c590-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60 200 8ms","method":"GET","requestID":"8619c590-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"842b19309fb661a0648765865752eefd","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"842b19309fb661a0648765865752eefd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8620ca70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70345371-6810-43c7-92ee-a061043c442a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.0281541} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339264,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8620ca70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","rebac_allow":false,"scope_allow":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":"8620ca70-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8620ca70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling 200 9ms","method":"POST","requestID":"8620ca70-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg","level":"info","message":"auth send jwt","requestID":"068387393c1201b5125e8eafdb5ae84c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"068387393c1201b5125e8eafdb5ae84c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86227820-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/92465653-d9a1-49da-870f-1f22b601966b","requestID":"068387393c1201b5125e8eafdb5ae84c"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.037461,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"068387393c1201b5125e8eafdb5ae84c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832208,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"068387393c1201b5125e8eafdb5ae84c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff59ea91-168b-4a39-90e1-8bcbca887c64","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.0403183} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.529086,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/92465653-d9a1-49da-870f-1f22b601966b","requestID":"068387393c1201b5125e8eafdb5ae84c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"86227820-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"86227820-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86227820-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/92465653-d9a1-49da-870f-1f22b601966b HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"068387393c1201b5125e8eafdb5ae84c"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling 200 35ms","method":"POST","requestID":"86227820-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling"} experiment-1 | {"level":"info","message":"GET /experiments/92465653-d9a1-49da-870f-1f22b601966b 200 34ms","method":"GET","requestID":"068387393c1201b5125e8eafdb5ae84c","responseTime":34,"status":200,"url":"/experiments/92465653-d9a1-49da-870f-1f22b601966b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg","level":"info","message":"auth send jwt","requestID":"7c15b2050a609a2ad065b8a90719bedf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c15b2050a609a2ad065b8a90719bedf","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/92465653-d9a1-49da-870f-1f22b601966b","requestID":"7c15b2050a609a2ad065b8a90719bedf"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.720415,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7c15b2050a609a2ad065b8a90719bedf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832208,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7c15b2050a609a2ad065b8a90719bedf","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Attempting to finish experiment","requestID":"7c15b2050a609a2ad065b8a90719bedf"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8629f230-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.68127,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8629f230-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832208,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8629f230-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","device":"9e881c20-60f1-49a4-a863-a329fb2c1dc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60","device":"9bf9aed1-74f8-4226-84a4-bae838db8e23","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/488b5ebb-2c51-4d9e-bd33-605a18d8fe60' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66e0784d2449efb22b77274a989d3e73","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":"66e0784d2449efb22b77274a989d3e73","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488b5ebb-2c51-4d9e-bd33-605a18d8fe60': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488b5ebb-2c51-4d9e-bd33-605a18d8fe60","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"b64fbe5a-9c4c-428e-a0fd-9749dbba0617","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.1240337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2a0f3fb-0612-4fcf-8d14-a54b9c38414c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.1243114} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9764f1630cb721dc3668072bb0e41c21","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":"9764f1630cb721dc3668072bb0e41c21","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/9e881c20-60f1-49a4-a863-a329fb2c1dc3"},{"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/9bf9aed1-74f8-4226-84a4-bae838db8e23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"}}},"level":"info","message":"received a callback","requestID":"66e0784d2449efb22b77274a989d3e73"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"8629f230-08c9-11f0-a656-5b8621d22e82","responseTime":8,"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/9e881c20-60f1-49a4-a863-a329fb2c1dc3"},{"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/9bf9aed1-74f8-4226-84a4-bae838db8e23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"}}},"level":"info","message":"received a callback","requestID":"9764f1630cb721dc3668072bb0e41c21"} device-1 | {"data":{"peerconnection":"488b5ebb-2c51-4d9e-bd33-605a18d8fe60","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8629f230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60 204 83ms","method":"DELETE","requestID":"8629f230-08c9-11f0-a656-5b8621d22e82","responseTime":83,"status":204,"url":"/peerconnections/488b5ebb-2c51-4d9e-bd33-605a18d8fe60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/92465653-d9a1-49da-870f-1f22b601966b"},"level":"info","message":"Successfully finished experiment","requestID":"7c15b2050a609a2ad065b8a90719bedf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86389830-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e881c20-60f1-49a4-a863-a329fb2c1dc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"597fa9bb-de46-4e07-95f1-51e8a2789b5b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.1836002} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304841,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"86389830-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3","object_type":"device","rebac_allow":false,"scope_allow":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":"86389830-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86389830-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling 200 9ms","method":"POST","requestID":"86389830-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92465653-d9a1-49da-870f-1f22b601966b': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F92465653-d9a1-49da-870f-1f22b601966b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"98fe901b-097d-4845-b445-f338dfe92a82","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.2143238} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"863def60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"474e5706-5007-473c-9d23-24e2821fddb9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.214665} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"7c15b2050a609a2ad065b8a90719bedf","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bf9aed1-74f8-4226-84a4-bae838db8e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eaf4038d-073a-4bc6-890a-ef3e464438ae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.2184103} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.216147,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"863def60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23","object_type":"device","rebac_allow":false,"scope_allow":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":"863def60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"863def60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling 200 8ms","method":"POST","requestID":"863def60-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/92465653-d9a1-49da-870f-1f22b601966b","requestID":"7c15b2050a609a2ad065b8a90719bedf"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/92465653-d9a1-49da-870f-1f22b601966b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c15b2050a609a2ad065b8a90719bedf"} experiment-1 | {"level":"info","message":"DELETE /experiments/92465653-d9a1-49da-870f-1f22b601966b 204 242ms","method":"DELETE","requestID":"7c15b2050a609a2ad065b8a90719bedf","responseTime":242,"status":204,"url":"/experiments/92465653-d9a1-49da-870f-1f22b601966b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"66e0784d2449efb22b77274a989d3e73","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"66e0784d2449efb22b77274a989d3e73"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"9764f1630cb721dc3668072bb0e41c21","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"9764f1630cb721dc3668072bb0e41c21"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg","level":"info","message":"auth send jwt","requestID":"4d2d2922dfaf0ca34c4130ad264923bc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4d2d2922dfaf0ca34c4130ad264923bc"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.954","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":"9a721a8078f420ce78788459f9bbabd5"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.171785,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.935","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":"2fdb5ee777e7b00d630acd6e23ba7c72"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4d2d2922dfaf0ca34c4130ad264923bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832208,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9bf9aed1-74f8-4226-84a4-bae838db8e23' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9e881c20-60f1-49a4-a863-a329fb2c1dc3' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"08add78b-2eb4-4af7-b269-a2d2b0db369d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.3671556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a73bbafe-44ca-4683-90e7-baa562e8f92b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.3712976} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"fbc1600b-fe10-43b6-8922-22cfd14d2881","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.3812394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af69e0ce-53d9-49f4-92b7-89fd42db5bec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.3811944} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.381209037Z"}]},"request_id":"890e6a96-8552-45fb-924e-a4cd16c929db","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.3849916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4d2d2922dfaf0ca34c4130ad264923bc"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d2d2922dfaf0ca34c4130ad264923bc"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"4d2d2922dfaf0ca34c4130ad264923bc","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg","level":"info","message":"auth send jwt","requestID":"eb9e0269382cc203625499bb173711ad"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb9e0269382cc203625499bb173711ad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eb9e0269382cc203625499bb173711ad"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.699836,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eb9e0269382cc203625499bb173711ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832208,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIwOH0._y01FSHdKM8eWgLC33PkS0HYwcVW-DYv0m6-8WLOBtg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"72833d1d-0a41-42d7-a048-62f329e147ab","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.4048324} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1266880-e4c1-4847-8cdc-c6024d8228ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.408486} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"da998bcf-0531-4070-b8b8-716996568477","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.4179711} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c68ca6d6-9158-4ad8-820a-65bb1094ac5f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.418175} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.417946146Z"}]},"request_id":"5c82e369-ddd8-4702-9eff-a56c8d00c6c6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832208.4215226} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eb9e0269382cc203625499bb173711ad"} gateway-1 | {"time_local":"24/Mar/2025:16:03:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb9e0269382cc203625499bb173711ad"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"eb9e0269382cc203625499bb173711ad","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e2f4119c0ddc97fa492f8ccb30f6f76","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":"9e2f4119c0ddc97fa492f8ccb30f6f76","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dd040203-1a53-454d-840c-cb4be924fc3a/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":"9e2f4119c0ddc97fa492f8ccb30f6f76"} device-1 | {"level":"info","message":"OPTIONS /devices/dd040203-1a53-454d-840c-cb4be924fc3a/websocket 200 1ms","method":"OPTIONS","requestID":"9e2f4119c0ddc97fa492f8ccb30f6f76","responseTime":1,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"94dae02e4ced378162191b85319c942a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"94dae02e4ced378162191b85319c942a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"94dae02e4ced378162191b85319c942a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fea0d743f8c33684ee852778707cab8b","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":"fea0d743f8c33684ee852778707cab8b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216014,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94dae02e4ced378162191b85319c942a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/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":"fea0d743f8c33684ee852778707cab8b"} device-1 | {"level":"info","message":"OPTIONS /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/websocket 200 1ms","method":"OPTIONS","requestID":"fea0d743f8c33684ee852778707cab8b","responseTime":1,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"94dae02e4ced378162191b85319c942a","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"2243edc9f9b9396655c67dc8ab430659"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2243edc9f9b9396655c67dc8ab430659","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2243edc9f9b9396655c67dc8ab430659"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760422,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2243edc9f9b9396655c67dc8ab430659","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2243edc9f9b9396655c67dc8ab430659","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"94dae02e4ced378162191b85319c942a"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/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":"94dae02e4ced378162191b85319c942a"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/websocket 200 37ms","method":"POST","requestID":"94dae02e4ced378162191b85319c942a","responseTime":37,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2243edc9f9b9396655c67dc8ab430659"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/websocket 200 33ms","method":"POST","requestID":"2243edc9f9b9396655c67dc8ab430659","responseTime":33,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","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":"2243edc9f9b9396655c67dc8ab430659"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"864c1580000e56002af3518033c77ec0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"864c1580000e56002af3518033c77ec0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"864c1580000e56002af3518033c77ec0"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941901,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"864c1580000e56002af3518033c77ec0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"864c1580000e56002af3518033c77ec0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.381209037Z"}]},"request_id":"b8f11386-ddc2-4952-afe8-fe5583275d0e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.7299945} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"864c1580000e56002af3518033c77ec0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"864c1580000e56002af3518033c77ec0"} device-1 | {"level":"info","message":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? 200 9ms","method":"GET","requestID":"864c1580000e56002af3518033c77ec0","responseTime":9,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? 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":"864c1580000e56002af3518033c77ec0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"4002dc60d9bb9efc63cb1249276242e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4002dc60d9bb9efc63cb1249276242e4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4002dc60d9bb9efc63cb1249276242e4"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720726,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4002dc60d9bb9efc63cb1249276242e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4002dc60d9bb9efc63cb1249276242e4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.417946146Z"}]},"request_id":"860f04de-9675-4401-ae2b-c8eb987c691c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.7433748} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4002dc60d9bb9efc63cb1249276242e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4002dc60d9bb9efc63cb1249276242e4"} device-1 | {"level":"info","message":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? 200 10ms","method":"GET","requestID":"4002dc60d9bb9efc63cb1249276242e4","responseTime":10,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? 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":"4002dc60d9bb9efc63cb1249276242e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"26ab754d336be787e41d5e372b40975f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"26ab754d336be787e41d5e372b40975f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"26ab754d336be787e41d5e372b40975f"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.692675,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"26ab754d336be787e41d5e372b40975f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"26ab754d336be787e41d5e372b40975f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to run experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to book experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully booked experiment","requestID":"26ab754d336be787e41d5e372b40975f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590343,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.402455,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.381209037Z"}]},"request_id":"8e8278b8-dd53-4eb5-bdb4-9361d6d2ee04","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.787713} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.417946146Z"}]},"request_id":"7196077b-065b-4456-a485-6171783353b1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.7885673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? 200 12ms","method":"GET","requestID":"87c579c0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? 200 12ms","method":"GET","requestID":"87c5a0d0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Setting up experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully set up experiment","requestID":"26ab754d336be787e41d5e372b40975f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87d13990-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87d1aec0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761857,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully running experiment","requestID":"26ab754d336be787e41d5e372b40975f"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87d13990-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87d13990-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882599,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08105c0e-bd5b-4447-9869-bf7c74124221","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.8663192} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806316,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87d1aec0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","rebac_allow":false,"scope_allow":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":"87d1aec0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.381209037Z"}]},"request_id":"40134a68-76c3-4f56-b7df-6f6b7d1f5740","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.8680553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.417946146Z"}]},"request_id":"ef8f22e9-7ac5-46c0-85cd-8f3c8c182ba1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.8688028} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"87d13990-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98fedb36-c342-4190-91ff-c3d7af873bbd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.8729434} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87d1aec0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling 200 38ms","method":"POST","requestID":"87d1aec0-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87d13990-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? 200 43ms","method":"GET","requestID":"87d13990-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? 200 41ms","method":"GET","requestID":"87d187b0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8ae6fb4-6fc1-43eb-90e9-bd77330b48d8#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ac2e9e1b-693b-4a71-a8de-e3ed2394131f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.8727274} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"26ab754d336be787e41d5e372b40975f","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87d81760-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87d86580-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb69c9fe-3e9d-4c4f-a559-1119cc0c1f38","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9067578} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.638704,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87d81760-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","rebac_allow":false,"scope_allow":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":"87d81760-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0189614-96ef-4307-ab21-8b5e3b81cf1e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9079902} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.578819,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"26ab754d336be787e41d5e372b40975f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87d86580-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","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":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26ab754d336be787e41d5e372b40975f"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87d86580-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"26ab754d336be787e41d5e372b40975f","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87d81760-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling 200 10ms","method":"POST","requestID":"87d81760-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87d86580-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"27da2897607e0fe0639ba8214851b12b"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling 200 9ms","method":"POST","requestID":"87d86580-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"27da2897607e0fe0639ba8214851b12b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27da2897607e0fe0639ba8214851b12b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87da1330-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688964,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"27da2897607e0fe0639ba8214851b12b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27da2897607e0fe0639ba8214851b12b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c562252-2d60-4e5b-8914-5f0fe214a01d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9195366} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.224358,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87da1330-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","rebac_allow":false,"scope_allow":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":"87da1330-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.381209037Z"}]},"request_id":"e3be0016-6069-4368-861b-232abb4d312e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9229722} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87da1330-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling 200 8ms","method":"POST","requestID":"87da1330-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"27da2897607e0fe0639ba8214851b12b","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Building connection plan","requestID":"26ab754d336be787e41d5e372b40975f"} 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":"07d9f417-1dc5-4c17-8f84-edb0ca71ed59"},{"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":"43168665-ee39-4d66-81c8-60f1cca34db8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a153bcbe-bfe8-4c64-a54a-93c0dc669a14"}]},"level":"info","message":"Built pairwise service configurations","requestID":"26ab754d336be787e41d5e372b40975f"} 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/6d2950df-cabb-4020-aac6-eccf978b25a7"},{"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/dd040203-1a53-454d-840c-cb4be924fc3a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"26ab754d336be787e41d5e372b40975f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27da2897607e0fe0639ba8214851b12b"} device-1 | {"level":"info","message":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? 200 38ms","method":"GET","requestID":"27da2897607e0fe0639ba8214851b12b","responseTime":38,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd040203-1a53-454d-840c-cb4be924fc3a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27da2897607e0fe0639ba8214851b12b"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.773646,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM","level":"info","message":"auth send jwt","requestID":"539b287afeca978c6a753bd948a6618b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"539b287afeca978c6a753bd948a6618b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"539b287afeca978c6a753bd948a6618b"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019201,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"539b287afeca978c6a753bd948a6618b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832210,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMH0.Ix1c_Hkm75kfx7f-zAqFuRvRCkrBH7IVdO2S_6r0ulM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"539b287afeca978c6a753bd948a6618b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"b091a59a-b9ef-4a31-98c0-8a363ee87096","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9647048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53288799-8589-4ce1-8a31-b5ea5dac7c10","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9649918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:28.417946146Z"}]},"request_id":"b7831bbf-fe9f-4bbf-9ada-f13a0a043576","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832210.9658036} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"539b287afeca978c6a753bd948a6618b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"539b287afeca978c6a753bd948a6618b"} device-1 | {"level":"info","message":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? 200 36ms","method":"GET","requestID":"539b287afeca978c6a753bd948a6618b","responseTime":36,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d2950df-cabb-4020-aac6-eccf978b25a7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"539b287afeca978c6a753bd948a6618b"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a'","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a'","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"87df6a60-08c9-11f0-a656-5b8621d22e82","responseTime":60,"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":"87df6a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","device":"6d2950df-cabb-4020-aac6-eccf978b25a7","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","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","device":"dd040203-1a53-454d-840c-cb4be924fc3a","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/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"26ab754d336be787e41d5e372b40975f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87f00c30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1b72493-5311-44f1-8763-b9aebc022750","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.063717} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.418839,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87f00c30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling 200 32ms","method":"POST","requestID":"87f00c30-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87f00c30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"87f00c30-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87f53c50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} device-1 | {"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14ca51b4-46bd-4980-bb81-796c3a9e1502","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.098826} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.071489,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"87f53c50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","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":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"87f53c50-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87f53c50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling 200 11ms","method":"POST","requestID":"87f53c50-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1037634226760997451 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:b1gj\r\na=ice-pwd:o42VllafVv8A3LaiOaMTgviP\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2A:8E:41:BE:D8:9E:1A:91:26:85:91:40:2E:64:03:07:F9:51:67:36:AC:8B:A7:57:41:B6:76:42:54:ED:62:96\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 8112991890452588769 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:y3Ed\r\na=ice-pwd:iTRaaWECTw9sRpNOJRsIpy0k\r\na=ice-options:trickle\r\na=fingerprint:sha-256 90:A1:87:74:46:BC:F2:82:52:20:36:2D:2D:C6:5F:33:FC:5A:4C:94:3C:5E:B7:BE:FC:45:09:5B:44:88:D3:15\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2721821526 1 udp 2113937151 28ceb2f8-ae70-4ea6-9c3a-5f9e8c182744.local 33853 typ host generation 0 ufrag y3Ed network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","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/6d2950df-cabb-4020-aac6-eccf978b25a7'"} device-1 | {"content":{"candidate":"candidate:2190580981 1 udp 2113937151 d8fa2213-e101-4ad4-8d62-5b689a832f98.local 37765 typ host generation 0 ufrag b1gj network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"dd040203-1a53-454d-840c-cb4be924fc3a","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/bd586408-6c88-41fa-aacd-b2d9a7b2941a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03d584251af7695a8fdb99092cd58021","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":"03d584251af7695a8fdb99092cd58021","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":"new","url":"http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7"},{"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/dd040203-1a53-454d-840c-cb4be924fc3a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"}}},"level":"info","message":"received a callback","requestID":"03d584251af7695a8fdb99092cd58021"} device-1 | {"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"dd040203-1a53-454d-840c-cb4be924fc3a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","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":"03d584251af7695a8fdb99092cd58021","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"03d584251af7695a8fdb99092cd58021"} device-1 | {"device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","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/bd586408-6c88-41fa-aacd-b2d9a7b2941a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2617b29e2bb757c21f88fc1a7b8a34a4","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":"2617b29e2bb757c21f88fc1a7b8a34a4","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/6d2950df-cabb-4020-aac6-eccf978b25a7"},{"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/dd040203-1a53-454d-840c-cb4be924fc3a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"}}},"level":"info","message":"received a callback","requestID":"2617b29e2bb757c21f88fc1a7b8a34a4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"880ae730-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd586408-6c88-41fa-aacd-b2d9a7b2941a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e3ecaee-b975-4c00-8f62-832292825c30","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.2390378} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.196882,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"880ae730-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","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":"880ae730-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"880ae730-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a 200 7ms","method":"GET","requestID":"880ae730-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"2617b29e2bb757c21f88fc1a7b8a34a4","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +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.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"2617b29e2bb757c21f88fc1a7b8a34a4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"880e1b80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e5fe46d-13cb-4876-9928-714a676d5ef7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.2844455} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.230725,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"880e1b80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","rebac_allow":false,"scope_allow":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":"880e1b80-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"880e1b80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling 200 32ms","method":"POST","requestID":"880e1b80-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88134ba0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo","level":"info","message":"auth send jwt","requestID":"1cf4e1a05cdb384216d531fb047dffdf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1cf4e1a05cdb384216d531fb047dffdf","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"468f71a5-68f7-43be-85c7-110512d29fcb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.2949998} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554806,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","requestID":"1cf4e1a05cdb384216d531fb047dffdf"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"88134ba0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","rebac_allow":false,"scope_allow":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":"88134ba0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.897151,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88134ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling 200 9ms","method":"POST","requestID":"88134ba0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1cf4e1a05cdb384216d531fb047dffdf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832211,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1cf4e1a05cdb384216d531fb047dffdf","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","requestID":"1cf4e1a05cdb384216d531fb047dffdf"} experiment-1 | {"level":"info","message":"GET /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8 200 34ms","method":"GET","requestID":"1cf4e1a05cdb384216d531fb047dffdf","responseTime":34,"status":200,"url":"/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cf4e1a05cdb384216d531fb047dffdf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo","level":"info","message":"auth send jwt","requestID":"d714011189ed2240f51aea56da67f276"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d714011189ed2240f51aea56da67f276","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","requestID":"d714011189ed2240f51aea56da67f276"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658099,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d714011189ed2240f51aea56da67f276","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832211,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d714011189ed2240f51aea56da67f276","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Attempting to finish experiment","requestID":"d714011189ed2240f51aea56da67f276"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.68401,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832211,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","device":"6d2950df-cabb-4020-aac6-eccf978b25a7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a","device":"dd040203-1a53-454d-840c-cb4be924fc3a","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/bd586408-6c88-41fa-aacd-b2d9a7b2941a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"820f4740b021cb68a394f31210502aca","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":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd586408-6c88-41fa-aacd-b2d9a7b2941a': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd586408-6c88-41fa-aacd-b2d9a7b2941a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"a4443aed-fc20-4ccd-b106-0b86d4dce09e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.3803897} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"820f4740b021cb68a394f31210502aca","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e5ca3dd-ff69-48e5-ab6e-c1a79d10acb1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.380769} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f281c5ca81c054d74a25264195b1bdb6","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/6d2950df-cabb-4020-aac6-eccf978b25a7"},{"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/dd040203-1a53-454d-840c-cb4be924fc3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"}}},"level":"info","message":"received a callback","requestID":"820f4740b021cb68a394f31210502aca"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f281c5ca81c054d74a25264195b1bdb6","responseTime":0,"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/6d2950df-cabb-4020-aac6-eccf978b25a7"},{"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/dd040203-1a53-454d-840c-cb4be924fc3a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"}}},"level":"info","message":"received a callback","requestID":"f281c5ca81c054d74a25264195b1bdb6"} device-1 | {"data":{"peerconnection":"bd586408-6c88-41fa-aacd-b2d9a7b2941a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a 204 97ms","method":"DELETE","requestID":"881b3ae0-08c9-11f0-a656-5b8621d22e82","responseTime":97,"status":204,"url":"/peerconnections/bd586408-6c88-41fa-aacd-b2d9a7b2941a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"},"level":"info","message":"Successfully finished experiment","requestID":"d714011189ed2240f51aea56da67f276"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88302270-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2950df-cabb-4020-aac6-eccf978b25a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bce0a9e5-1797-4383-b01e-7b4ccdf4c49d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.4842854} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.306956,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"88302270-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2950df-cabb-4020-aac6-eccf978b25a7","object_type":"device","rebac_allow":false,"scope_allow":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":"88302270-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88302270-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling 200 9ms","method":"POST","requestID":"88302270-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/6d2950df-cabb-4020-aac6-eccf978b25a7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8831d020-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8ae6fb4-6fc1-43eb-90e9-bd77330b48d8': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"63163174-2db2-4aa4-afdb-eb7eb496b27d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.4912999} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2c9f1c2-69cc-4da2-86dd-aaa3b37b9ada","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.4914944} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"d714011189ed2240f51aea56da67f276","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd040203-1a53-454d-840c-cb4be924fc3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dc53a85-defe-466a-bd35-ac55b8d61a6d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.4952638} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276848,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8831d020-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a","object_type":"device","rebac_allow":false,"scope_allow":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":"8831d020-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8831d020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling 200 9ms","method":"POST","requestID":"8831d020-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/dd040203-1a53-454d-840c-cb4be924fc3a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8","requestID":"d714011189ed2240f51aea56da67f276"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d714011189ed2240f51aea56da67f276"} experiment-1 | {"level":"info","message":"DELETE /experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8 204 213ms","method":"DELETE","requestID":"d714011189ed2240f51aea56da67f276","responseTime":213,"status":204,"url":"/experiments/d8ae6fb4-6fc1-43eb-90e9-bd77330b48d8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 167ms","method":"POST","requestID":"820f4740b021cb68a394f31210502aca","responseTime":167,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +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.170","http_referrer":"","http_user_agent":"node-fetch","requestID":"820f4740b021cb68a394f31210502aca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 167ms","method":"POST","requestID":"f281c5ca81c054d74a25264195b1bdb6","responseTime":167,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +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.172","http_referrer":"","http_user_agent":"node-fetch","requestID":"f281c5ca81c054d74a25264195b1bdb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo","level":"info","message":"auth send jwt","requestID":"e47c78a339f4b18238a803dfaab892c7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e47c78a339f4b18238a803dfaab892c7","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"0.857","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":"20c7df9e2251f1b6a72ef027adb8d4c2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.874","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":"94e3b1900fe0b5a0fc8deccd3d3cef6b"} device-1 | {"level":"info","message":"postDevices called","requestID":"e47c78a339f4b18238a803dfaab892c7"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.608246,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e47c78a339f4b18238a803dfaab892c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832211,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","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/6d2950df-cabb-4020-aac6-eccf978b25a7' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dd040203-1a53-454d-840c-cb4be924fc3a' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47450510-a817-4f39-ab72-5947b0c19379","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.5833845} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbca9c0b-155f-43db-aa4d-c8e8be293b0b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.5874178} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"8142db69-bcca-4a8e-bf4f-6f8eeb5f46d1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.6214366} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b966ecf6-ad65-411d-84e9-fa42e0b8ff20","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.6216319} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","responseTime":37,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.621418092Z"}]},"request_id":"10b3617b-0ba1-408a-af89-f5c33d5814ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.6255016} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e47c78a339f4b18238a803dfaab892c7"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e47c78a339f4b18238a803dfaab892c7"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"e47c78a339f4b18238a803dfaab892c7","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo","level":"info","message":"auth send jwt","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.947782,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832211,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMX0.kgIpMpOMtZphzEyNobTNQYxiPA8utj8vPX7_IFFfsBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f97e0d39-c6ed-4137-a2ff-9eb2cfd557a1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.6730843} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e4d17de-05e1-49f2-af2a-47ec887faa76","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.6812806} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"06ea9e9e-8702-4d2e-96f9-08f3543b230f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.714504} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e02bfe1-e418-48b7-a8fa-bcdcdb32db40","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.7146468} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"b0694e17-3c93-4753-9067-854c9feacf67","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832211.7188504} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c","responseTime":89,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8bcdf84c05a7c78c775f16a7b2d7a2c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMn0.YyrOluyA85xOqljL4jdnEO4c6klKoRderRv5YkY9pd0","level":"info","message":"auth send jwt","requestID":"99d271a6231567c9714554c8c268a6cf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99d271a6231567c9714554c8c268a6cf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"99d271a6231567c9714554c8c268a6cf"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700373,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"99d271a6231567c9714554c8c268a6cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832212,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMn0.YyrOluyA85xOqljL4jdnEO4c6klKoRderRv5YkY9pd0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"99d271a6231567c9714554c8c268a6cf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"35c05673-2591-4794-b54b-11022724ce35","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832212.599939} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"99d271a6231567c9714554c8c268a6cf","responseTime":27,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66ef7f9e-2b52-4652-aab4-d2c28291034a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832212.6285763} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"99d271a6231567c9714554c8c268a6cf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"8ecd778f-30ff-474a-8037-b22f13b105fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832212.6745236} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"99d271a6231567c9714554c8c268a6cf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"99d271a6231567c9714554c8c268a6cf"} gateway-1 | {"time_local":"24/Mar/2025:16:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e42aceb6-be66-4199-a317-62e30939c2ba HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"99d271a6231567c9714554c8c268a6cf"} device-1 | {"level":"info","message":"PATCH /devices/e42aceb6-be66-4199-a317-62e30939c2ba 200 86ms","method":"PATCH","requestID":"99d271a6231567c9714554c8c268a6cf","responseTime":86,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMn0.YyrOluyA85xOqljL4jdnEO4c6klKoRderRv5YkY9pd0","level":"info","message":"auth send jwt","requestID":"3da62f5641c7e2982771b8818a3ef4b6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3da62f5641c7e2982771b8818a3ef4b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3da62f5641c7e2982771b8818a3ef4b6"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:32Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731277,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3da62f5641c7e2982771b8818a3ef4b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832212,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxMn0.YyrOluyA85xOqljL4jdnEO4c6klKoRderRv5YkY9pd0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3da62f5641c7e2982771b8818a3ef4b6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3da62f5641c7e2982771b8818a3ef4b6"} gateway-1 | {"time_local":"24/Mar/2025:16:03:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"3da62f5641c7e2982771b8818a3ef4b6"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/websocket 200 14ms","method":"POST","requestID":"3da62f5641c7e2982771b8818a3ef4b6","responseTime":14,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d5aafd2d082ff31656680fd7b006cc42","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":"d5aafd2d082ff31656680fd7b006cc42","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/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":"d5aafd2d082ff31656680fd7b006cc42"} device-1 | {"level":"info","message":"OPTIONS /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/websocket 200 1ms","method":"OPTIONS","requestID":"d5aafd2d082ff31656680fd7b006cc42","responseTime":1,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxM30.QmdktCYiWHDd1Q5M3xqH2gtMGfz8kGjGfSYC5w3ZkII","level":"info","message":"auth send jwt","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18211,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f0bdc3a912f3d6c9c7238b234405c2ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832213,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxM30.QmdktCYiWHDd1Q5M3xqH2gtMGfz8kGjGfSYC5w3ZkII"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/websocket 200 31ms","method":"POST","requestID":"f0bdc3a912f3d6c9c7238b234405c2ae","responseTime":31,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","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":"f0bdc3a912f3d6c9c7238b234405c2ae"} device-1 | {"level":"info","message":"device 'http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxM30.QmdktCYiWHDd1Q5M3xqH2gtMGfz8kGjGfSYC5w3ZkII","level":"info","message":"auth send jwt","requestID":"b6a134bf7e76e7b51147f42336bd4add"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6a134bf7e76e7b51147f42336bd4add","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6a134bf7e76e7b51147f42336bd4add"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:33Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922892,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b6a134bf7e76e7b51147f42336bd4add","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832213,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxM30.QmdktCYiWHDd1Q5M3xqH2gtMGfz8kGjGfSYC5w3ZkII"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6a134bf7e76e7b51147f42336bd4add","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.621418092Z"}]},"request_id":"43c1e192-bc4c-4edb-8b97-267a100d4af1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832213.9986765} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b6a134bf7e76e7b51147f42336bd4add","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6a134bf7e76e7b51147f42336bd4add"} device-1 | {"level":"info","message":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? 200 11ms","method":"GET","requestID":"b6a134bf7e76e7b51147f42336bd4add","responseTime":11,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? 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":"b6a134bf7e76e7b51147f42336bd4add"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk","level":"info","message":"auth send jwt","requestID":"c55110e65b79f297ce2cea62ecd4ce02"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c55110e65b79f297ce2cea62ecd4ce02","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c55110e65b79f297ce2cea62ecd4ce02"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679297,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c55110e65b79f297ce2cea62ecd4ce02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c55110e65b79f297ce2cea62ecd4ce02","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"a62326b3-d860-43e3-9edf-6db37425f313","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.012702} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c55110e65b79f297ce2cea62ecd4ce02","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c55110e65b79f297ce2cea62ecd4ce02"} gateway-1 | {"time_local":"24/Mar/2025:16:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? 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":"c55110e65b79f297ce2cea62ecd4ce02"} device-1 | {"level":"info","message":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? 200 10ms","method":"GET","requestID":"c55110e65b79f297ce2cea62ecd4ce02","responseTime":10,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk","level":"info","message":"auth send jwt","requestID":"858a94f59f626bee95fcd27ca7a69333"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"858a94f59f626bee95fcd27ca7a69333","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"858a94f59f626bee95fcd27ca7a69333"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.690618,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"858a94f59f626bee95fcd27ca7a69333","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"858a94f59f626bee95fcd27ca7a69333","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to run experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to book experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully booked experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732549,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798293,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.621418092Z"}]},"request_id":"f11e5ebb-0fa2-4fc5-aec6-787c30e0917a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.087381} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"e8c5f4fe-22dc-4636-b5da-0e3eecf2396f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.0881577} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? 200 38ms","method":"GET","requestID":"89bcdcf0-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? 200 37ms","method":"GET","requestID":"89bd0400-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Setting up experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully set up experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89cce280-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully running experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89cd57b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58298","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704281,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698596,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89cce280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89cce280-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b564b82f-6686-40f1-b9db-3c19765e4df5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2176394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"95d11d12-5ca7-4ad7-84bf-abd70b367a98","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.218021} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.621418092Z"}]},"request_id":"df82c12e-fb27-4e53-8bbe-5d10a496cb74","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2190347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89cce280-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.311555,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89cd57b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","rebac_allow":false,"scope_allow":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":"89cd57b0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cd9cf45-ac79-46dc-a24d-d4caf8add7c0#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"5bbbe770-5903-4607-bff0-25079df3d734","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2232997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4fadcda-8ed5-43a8-b6ea-aa5387b00a92","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2234788} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89cce280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? 200 41ms","method":"GET","requestID":"89cce280-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"858a94f59f626bee95fcd27ca7a69333","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89cd57b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling 200 38ms","method":"POST","requestID":"89cd57b0-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? 200 44ms","method":"GET","requestID":"89cc9460-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89d3c050-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89d40e70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"858a94f59f626bee95fcd27ca7a69333"} experiment-1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"858a94f59f626bee95fcd27ca7a69333","responseTime":213,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1ee187a-228e-4e18-8670-54b4de48333a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2342522} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d86f6ef0-bc60-4ddd-bd5c-1777679d8b4e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2348533} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930493,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"858a94f59f626bee95fcd27ca7a69333"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89d3c050-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","rebac_allow":false,"scope_allow":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":"89d3c050-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346211,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89d40e70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"89d40e70-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk","level":"info","message":"auth send jwt","requestID":"937cbd4190e929da28ba96e6cbf208f9"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"937cbd4190e929da28ba96e6cbf208f9","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89d3c050-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling 200 37ms","method":"POST","requestID":"89d3c050-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"937cbd4190e929da28ba96e6cbf208f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89d40e70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling 200 37ms","method":"POST","requestID":"89d40e70-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806394,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89da01e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"937cbd4190e929da28ba96e6cbf208f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"937cbd4190e929da28ba96e6cbf208f9","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.621418092Z"}]},"request_id":"1983bef7-e31e-4778-986d-41d1fc6c0d80","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2737238} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cf44fce-d83d-45e5-9b07-3d2ec1f2dc84","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.2738507} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"937cbd4190e929da28ba96e6cbf208f9","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.170233,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89da01e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","rebac_allow":false,"scope_allow":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":"89da01e0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"937cbd4190e929da28ba96e6cbf208f9"} gateway-1 | {"time_local":"24/Mar/2025:16:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"937cbd4190e929da28ba96e6cbf208f9"} device-1 | {"level":"info","message":"GET /devices/77196d44-b6d3-44a5-9cd2-aef85e527559? 200 12ms","method":"GET","requestID":"937cbd4190e929da28ba96e6cbf208f9","responseTime":12,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89da01e0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Building connection plan","requestID":"858a94f59f626bee95fcd27ca7a69333"} 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":"828f9efe-5b28-47e9-8683-89fda802b67f"},{"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":"e9975f16-5c76-40be-880f-49b75295ee4f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"37301f5f-ff8e-4b21-b7a2-6e40e116bee7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"858a94f59f626bee95fcd27ca7a69333"} 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/77196d44-b6d3-44a5-9cd2-aef85e527559"},{"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/e42aceb6-be66-4199-a317-62e30939c2ba"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling 200 9ms","method":"POST","requestID":"89da01e0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk","level":"info","message":"auth send jwt","requestID":"972cc5442d82ba71723ca7e754caff99"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"972cc5442d82ba71723ca7e754caff99","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"972cc5442d82ba71723ca7e754caff99"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:37816","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.768165,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89df8020-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.563932,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"972cc5442d82ba71723ca7e754caff99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832214,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNH0.SqFMl-KUQZrr3hhmKnXuf07E2-vgp7UaPiB8MWhabFk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"972cc5442d82ba71723ca7e754caff99","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:31.714486182Z"}]},"request_id":"51e2ab85-6abd-43db-b20a-88b0de90ddde","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.3147087} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"972cc5442d82ba71723ca7e754caff99","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"972cc5442d82ba71723ca7e754caff99"} gateway-1 | {"time_local":"24/Mar/2025:16:03:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"972cc5442d82ba71723ca7e754caff99"} device-1 | {"level":"info","message":"GET /devices/e42aceb6-be66-4199-a317-62e30939c2ba? 200 13ms","method":"GET","requestID":"972cc5442d82ba71723ca7e754caff99","responseTime":13,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"44254f58-4e3a-4818-84fa-f00885331ff8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.3213322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35592439-812c-48e5-8bb7-1aba65aa4018","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.3215532} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f'","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f'","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 59ms","method":"POST","requestID":"89df8020-08c9-11f0-a656-5b8621d22e82","responseTime":59,"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":"89df8020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","device":"77196d44-b6d3-44a5-9cd2-aef85e527559","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/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"858a94f59f626bee95fcd27ca7a69333"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89f09720-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fa4732d-370f-4ee4-a8f0-53f52c41506a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.4220352} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.141192,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89f09720-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","rebac_allow":false,"scope_allow":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":"89f09720-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89f09720-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling 200 29ms","method":"POST","requestID":"89f09720-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89f57920-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5ad292d-83be-43ac-ba2e-7938c1878ccb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832214.4537442} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.181863,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"89f57920-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","rebac_allow":false,"scope_allow":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":"89f57920-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89f57920-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling 200 7ms","method":"POST","requestID":"89f57920-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling"} device-1 | {"device":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1849595078907186950 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:v7kr\r\na=ice-pwd:iSHsH/3AbtjzRK1b3ihggjbb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 06:9F:6B:9B:F3:97:2A:AE:03:F1:BE:C2:DE:E3:92:FF:C9:B6:4A:8C:B4:96:4D:0F:15:91:63:65:86:93:78:BA\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2135704784 1 udp 2113937151 5e4d7997-def9-478e-a55f-4fcf5401fa60.local 37489 typ host generation 0 ufrag v7kr network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","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/77196d44-b6d3-44a5-9cd2-aef85e527559'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f912f0413423dbf75312e762f13c5e4","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":"4f912f0413423dbf75312e762f13c5e4","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/77196d44-b6d3-44a5-9cd2-aef85e527559"},{"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/e42aceb6-be66-4199-a317-62e30939c2ba"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"}}},"level":"info","message":"received a callback","requestID":"4f912f0413423dbf75312e762f13c5e4"} device-1 | {"device":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"4f912f0413423dbf75312e762f13c5e4","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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":"4f912f0413423dbf75312e762f13c5e4"} device-1 | {"device":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"86958017-36ad-43d5-b9c5-98168ea3b44f","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/86958017-36ad-43d5-b9c5-98168ea3b44f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a44e511681ada48030776182ae5bc4e5","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":"a44e511681ada48030776182ae5bc4e5","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/77196d44-b6d3-44a5-9cd2-aef85e527559"},{"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/e42aceb6-be66-4199-a317-62e30939c2ba"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"}}},"level":"info","message":"received a callback","requestID":"a44e511681ada48030776182ae5bc4e5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8b2805b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F86958017-36ad-43d5-b9c5-98168ea3b44f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0828d1f-7ae7-454d-a586-7cb7c3325896","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.4637778} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.830699,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b2805b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","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":"8b2805b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8b2805b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f 200 8ms","method":"GET","requestID":"8b2805b0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"a44e511681ada48030776182ae5bc4e5","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"a44e511681ada48030776182ae5bc4e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b2bfd50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"549594b4-7ed2-4756-a471-9963af5f96c8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.5137026} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.51603,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b2bfd50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"8b2bfd50-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b2bfd50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling 200 33ms","method":"POST","requestID":"8b2bfd50-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b315480-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d06a929-b88c-4df8-8aa8-9ad91bfea868","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.5249608} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.60933,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b315480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","rebac_allow":false,"scope_allow":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":"8b315480-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b315480-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling 200 9ms","method":"POST","requestID":"8b315480-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0","level":"info","message":"auth send jwt","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.68063,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832216,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748"} experiment-1 | {"level":"info","message":"GET /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0 200 10ms","method":"GET","requestID":"1a6dcc5b478ac6fa8f61ca5e04efa748","responseTime":10,"status":200,"url":"/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0","level":"info","message":"auth send jwt","requestID":"dbd82248b4968f34dff2e22088bb3b11"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dbd82248b4968f34dff2e22088bb3b11","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","requestID":"dbd82248b4968f34dff2e22088bb3b11"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.882456,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dbd82248b4968f34dff2e22088bb3b11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832216,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dbd82248b4968f34dff2e22088bb3b11","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Attempting to finish experiment","requestID":"dbd82248b4968f34dff2e22088bb3b11"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.687315,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832216,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f","device":"77196d44-b6d3-44a5-9cd2-aef85e527559","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"e42aceb6-be66-4199-a317-62e30939c2ba","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/86958017-36ad-43d5-b9c5-98168ea3b44f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F86958017-36ad-43d5-b9c5-98168ea3b44f': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F86958017-36ad-43d5-b9c5-98168ea3b44f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"a8fb0796-bec8-414a-9fb4-dc9552725f46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.6262422} 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/77196d44-b6d3-44a5-9cd2-aef85e527559"},{"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/e42aceb6-be66-4199-a317-62e30939c2ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"}}},"level":"info","message":"received a callback","requestID":"071e79712e9a2b92fc810c63c12cc5f0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"071e79712e9a2b92fc810c63c12cc5f0","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8ac9c99-308c-4f20-b2ff-33610e38944d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.6263719} 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/77196d44-b6d3-44a5-9cd2-aef85e527559"},{"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/e42aceb6-be66-4199-a317-62e30939c2ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"}}},"level":"info","message":"received a callback","requestID":"b4809fcd90878c68dbadbcd3ded382dc"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"071e79712e9a2b92fc810c63c12cc5f0","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4809fcd90878c68dbadbcd3ded382dc","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":"b4809fcd90878c68dbadbcd3ded382dc","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"86958017-36ad-43d5-b9c5-98168ea3b44f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f 204 62ms","method":"DELETE","requestID":"8b3f5e40-08c9-11f0-a656-5b8621d22e82","responseTime":62,"status":204,"url":"/peerconnections/86958017-36ad-43d5-b9c5-98168ea3b44f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"},"level":"info","message":"Successfully finished experiment","requestID":"dbd82248b4968f34dff2e22088bb3b11"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b4eeea0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77196d44-b6d3-44a5-9cd2-aef85e527559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bf20c32-21e5-4e48-a858-b3ce5ac477ab","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.7185013} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521215,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b4eeea0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/77196d44-b6d3-44a5-9cd2-aef85e527559","object_type":"device","rebac_allow":false,"scope_allow":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":"8b4eeea0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b4eeea0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling 200 8ms","method":"POST","requestID":"8b4eeea0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/77196d44-b6d3-44a5-9cd2-aef85e527559/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b507540-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cd9cf45-ac79-46dc-a24d-d4caf8add7c0': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"273fa2d0-1e83-4d44-bec6-49efd930ae9b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.7266326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b1f5f73-24dc-4e2d-b5e0-a09297cf8c8c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.727033} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"dbd82248b4968f34dff2e22088bb3b11","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe42aceb6-be66-4199-a317-62e30939c2ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec85dfd7-2b8f-4872-998d-bcce169c5b84","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.7530696} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.268135,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8b507540-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8b507540-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b507540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling 200 33ms","method":"POST","requestID":"8b507540-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/e42aceb6-be66-4199-a317-62e30939c2ba/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0","requestID":"dbd82248b4968f34dff2e22088bb3b11"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbd82248b4968f34dff2e22088bb3b11"} experiment-1 | {"level":"info","message":"DELETE /experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0 204 249ms","method":"DELETE","requestID":"dbd82248b4968f34dff2e22088bb3b11","responseTime":249,"status":204,"url":"/experiments/8cd9cf45-ac79-46dc-a24d-d4caf8add7c0"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.127","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"f8e0413fd9b4979bff040f7059148ea9"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e42aceb6-be66-4199-a317-62e30939c2ba' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 223ms","method":"POST","requestID":"071e79712e9a2b92fc810c63c12cc5f0","responseTime":223,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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.225","http_referrer":"","http_user_agent":"node-fetch","requestID":"071e79712e9a2b92fc810c63c12cc5f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 223ms","method":"POST","requestID":"b4809fcd90878c68dbadbcd3ded382dc","responseTime":223,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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.226","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4809fcd90878c68dbadbcd3ded382dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0","level":"info","message":"auth send jwt","requestID":"981503133fec6a36b7cb25dc3c849c01"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"981503133fec6a36b7cb25dc3c849c01","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.885","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":"9b9ee920036d94572a4f5b2963d4ce10"} device-1 | {"level":"info","message":"postDevices called","requestID":"981503133fec6a36b7cb25dc3c849c01"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873355,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"981503133fec6a36b7cb25dc3c849c01","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832216,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","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/77196d44-b6d3-44a5-9cd2-aef85e527559' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ed2fbd2-bdd7-47be-a044-36ead6942576","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.8792155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50a44287-f1c0-479b-87bb-0c0e7155a489","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.8837304} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"41de19b2-dae8-4329-b571-c5a9fa9d85ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.8941126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5480d891-cb42-4d07-b29c-11ffb5c320ff","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.8942573} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.894082997Z"}]},"request_id":"1f1efc65-7d64-47d7-bf46-808ab77fbcb3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.8986657} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"981503133fec6a36b7cb25dc3c849c01"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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":"981503133fec6a36b7cb25dc3c849c01"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"981503133fec6a36b7cb25dc3c849c01","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0","level":"info","message":"auth send jwt","requestID":"8eebab2b18987b37d4fc66b2c975dbe7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8eebab2b18987b37d4fc66b2c975dbe7"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.686423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8eebab2b18987b37d4fc66b2c975dbe7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832216,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxNn0.1UoRAFXVfmcawVPrzd685sSnVdh0m6i1EK5MvHeu8O0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58489d14-eed1-40a2-bad8-9fcf0684dd9d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.9199805} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","responseTime":6,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17318e9f-f5ca-4ee2-ab69-4cfb20af3ba8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.934829} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d4fe0d88-7989-4983-9688-7149b8ee3acc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.95322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a74af3a-a9c4-4ce7-a305-613864410639","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.9534302} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"c464380d-2f34-42d6-8389-b9853b6fe72c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832216.956692} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8eebab2b18987b37d4fc66b2c975dbe7"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"8eebab2b18987b37d4fc66b2c975dbe7","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:36 +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":"8eebab2b18987b37d4fc66b2c975dbe7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxN30.4UYyulZWpfdDEJ1zUVUqT2Dc7iLANYsrASkVBPDh_UM","level":"info","message":"auth send jwt","requestID":"e40bb3d1412b255762d22e246b3553ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e40bb3d1412b255762d22e246b3553ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e40bb3d1412b255762d22e246b3553ed"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015998,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e40bb3d1412b255762d22e246b3553ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832217,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxN30.4UYyulZWpfdDEJ1zUVUqT2Dc7iLANYsrASkVBPDh_UM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e40bb3d1412b255762d22e246b3553ed","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"8efa7d59-1825-4f9b-8122-84a892c934d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832217.8645399} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e40bb3d1412b255762d22e246b3553ed","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcd4eb5d-4330-4347-b3f8-59d736371b68","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832217.8692224} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e40bb3d1412b255762d22e246b3553ed","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"77cb3baf-81f6-4059-8e06-36b05e1d8ca5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832217.9174628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e40bb3d1412b255762d22e246b3553ed","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e40bb3d1412b255762d22e246b3553ed"} gateway-1 | {"time_local":"24/Mar/2025:16:03:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e40bb3d1412b255762d22e246b3553ed"} device-1 | {"level":"info","message":"PATCH /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc 200 87ms","method":"PATCH","requestID":"e40bb3d1412b255762d22e246b3553ed","responseTime":87,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxN30.4UYyulZWpfdDEJ1zUVUqT2Dc7iLANYsrASkVBPDh_UM","level":"info","message":"auth send jwt","requestID":"13506a72dc3064aef6ec43481cbdae20"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13506a72dc3064aef6ec43481cbdae20","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"13506a72dc3064aef6ec43481cbdae20"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803359,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"13506a72dc3064aef6ec43481cbdae20","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832217,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxN30.4UYyulZWpfdDEJ1zUVUqT2Dc7iLANYsrASkVBPDh_UM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"13506a72dc3064aef6ec43481cbdae20","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"13506a72dc3064aef6ec43481cbdae20"} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/websocket 200 39ms","method":"POST","requestID":"13506a72dc3064aef6ec43481cbdae20","responseTime":39,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"13506a72dc3064aef6ec43481cbdae20"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f95d43f4ac1c909ff4c2b3231fad866","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":"8f95d43f4ac1c909ff4c2b3231fad866","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/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":"8f95d43f4ac1c909ff4c2b3231fad866"} device-1 | {"level":"info","message":"OPTIONS /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/websocket 200 1ms","method":"OPTIONS","requestID":"8f95d43f4ac1c909ff4c2b3231fad866","responseTime":1,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"4ff4d662f4a4a881f50a02e47e73778f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ff4d662f4a4a881f50a02e47e73778f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4ff4d662f4a4a881f50a02e47e73778f"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370187,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4ff4d662f4a4a881f50a02e47e73778f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ff4d662f4a4a881f50a02e47e73778f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4ff4d662f4a4a881f50a02e47e73778f"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/websocket 200 26ms","method":"POST","requestID":"4ff4d662f4a4a881f50a02e47e73778f","responseTime":26,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/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":"4ff4d662f4a4a881f50a02e47e73778f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"f4fac8ebdda8806fac5264a0005359b6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4fac8ebdda8806fac5264a0005359b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4fac8ebdda8806fac5264a0005359b6"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675426,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f4fac8ebdda8806fac5264a0005359b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4fac8ebdda8806fac5264a0005359b6","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.894082997Z"}]},"request_id":"037b7540-88e7-42ec-91f1-d6e563441b7c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.3191257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4fac8ebdda8806fac5264a0005359b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4fac8ebdda8806fac5264a0005359b6"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? 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":"f4fac8ebdda8806fac5264a0005359b6"} device-1 | {"level":"info","message":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? 200 10ms","method":"GET","requestID":"f4fac8ebdda8806fac5264a0005359b6","responseTime":10,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"742fdbcb4ecba36ddfcef4c796b85e22"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"742fdbcb4ecba36ddfcef4c796b85e22","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"742fdbcb4ecba36ddfcef4c796b85e22"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62525,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"742fdbcb4ecba36ddfcef4c796b85e22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"742fdbcb4ecba36ddfcef4c796b85e22","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"476c469f-3b29-4c96-b220-70bfef5150d6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.3545246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"742fdbcb4ecba36ddfcef4c796b85e22","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"742fdbcb4ecba36ddfcef4c796b85e22"} device-1 | {"level":"info","message":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? 200 12ms","method":"GET","requestID":"742fdbcb4ecba36ddfcef4c796b85e22","responseTime":12,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"742fdbcb4ecba36ddfcef4c796b85e22"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"58438e1f672ccd3c245c68eadf304d77"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58438e1f672ccd3c245c68eadf304d77","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"58438e1f672ccd3c245c68eadf304d77"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.032686,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"58438e1f672ccd3c245c68eadf304d77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"58438e1f672ccd3c245c68eadf304d77","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to run experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to book experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully booked experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69731,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108413,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.894082997Z"}]},"request_id":"b5461951-c9ea-46ec-bf59-1f565a6324e5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.456643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"ba151d71-6490-41d3-85ed-dbc00ff55fa9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.4596403} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? 200 11ms","method":"GET","requestID":"8cf04290-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? 200 13ms","method":"GET","requestID":"8cf069a0-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Setting up experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully set up experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8cfffa00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979077,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully running experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.996666,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.144102,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99ef95e1-b7e2-49b4-b17c-55594039fe05","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.558214} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8cfffa00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"8cfffa00-08c9-11f0-a656-5b8621d22e82","responseTime":30,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"397cd0e1-7e13-4fbc-ba78-fc418d883956","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.5600886} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82","responseTime":29,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.894082997Z"}]},"request_id":"bcfc117d-ca9f-40a6-998c-24e242610495","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.5868497} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8cfffa00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling 200 37ms","method":"POST","requestID":"8cfffa00-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? 200 41ms","method":"GET","requestID":"8cffabe0-08c9-11f0-a656-5b8621d22e82","responseTime":41,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d061480-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F450b538e-d480-4540-b653-ae000b3745d7#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F450b538e-d480-4540-b653-ae000b3745d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"fe8e2063-7b87-4e2f-bd22-7f66f511df80","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.5923727} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5d6b24f-f31e-428b-8f47-729fb7fd2b0f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.5926287} device-1 | {"level":"info","message":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? 200 44ms","method":"GET","requestID":"8cff84d0-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"58438e1f672ccd3c245c68eadf304d77","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d0689b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a1c09a-9665-4a63-a59e-204059482440","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.5973141} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84465,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d061480-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","rebac_allow":false,"scope_allow":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":"8d061480-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92baeec7-bd27-468c-be01-639764a3344e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.6003473} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733915,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"58438e1f672ccd3c245c68eadf304d77"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d0689b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","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 succeeded","requestID":"8d061480-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58438e1f672ccd3c245c68eadf304d77"} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling 200 10ms","method":"POST","requestID":"8d061480-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"58438e1f672ccd3c245c68eadf304d77","responseTime":238,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8d0689b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d0689b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling 200 10ms","method":"POST","requestID":"8d0689b0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"123cb80fcc5847595149b76db2e3440f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"123cb80fcc5847595149b76db2e3440f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d085e70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"123cb80fcc5847595149b76db2e3440f"} authorization-1 | {"client_addr":"127.0.0.1:36024","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.63767,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"123cb80fcc5847595149b76db2e3440f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"123cb80fcc5847595149b76db2e3440f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38906675-48ca-4976-a5ba-9611e910d994","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.6386375} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.559876,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d085e70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"8d085e70-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d085e70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.894082997Z"}]},"request_id":"21d69419-661c-4ad6-85e8-eba84e2578e7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.6421227} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling 200 35ms","method":"POST","requestID":"8d085e70-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"123cb80fcc5847595149b76db2e3440f","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Building connection plan","requestID":"58438e1f672ccd3c245c68eadf304d77"} 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":"ccafd5a2-3647-4687-83ed-4a0cb9afac21"},{"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":"473d0253-3413-4c5f-a6f6-188460fe2d94"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f0893b8-1f4f-4139-a379-9811d0cf263e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"58438e1f672ccd3c245c68eadf304d77"} 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/b80e5d96-7a59-4164-a87d-2ccfe4756dcf"},{"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/a6fe95f2-8cca-44a4-a8df-3004d99892dc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"58438e1f672ccd3c245c68eadf304d77"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"123cb80fcc5847595149b76db2e3440f"} device-1 | {"level":"info","message":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? 200 12ms","method":"GET","requestID":"123cb80fcc5847595149b76db2e3440f","responseTime":12,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"123cb80fcc5847595149b76db2e3440f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.73732,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4","level":"info","message":"auth send jwt","requestID":"baef842abbca499c80688f90e0b61e3d"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"baef842abbca499c80688f90e0b61e3d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baef842abbca499c80688f90e0b61e3d"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898948,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"baef842abbca499c80688f90e0b61e3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832219,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIxOX0.sP7j_KpNU-Y9AlXcRmbgoT4DYPc_XqvMC_wKAaqu-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"baef842abbca499c80688f90e0b61e3d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:36.953200640Z"}]},"request_id":"409c5914-a10a-4bac-80a3-33da85a8b7e3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.6823294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"baef842abbca499c80688f90e0b61e3d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"bbecbc59-0538-4c47-b905-707cf521c353","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.6832638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a57ca241-65d6-4344-b2bf-2b85b0c4f9c6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.683621} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baef842abbca499c80688f90e0b61e3d"} gateway-1 | {"time_local":"24/Mar/2025:16:03:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"baef842abbca499c80688f90e0b61e3d"} device-1 | {"level":"info","message":"GET /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc? 200 35ms","method":"GET","requestID":"baef842abbca499c80688f90e0b61e3d","responseTime":35,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c'","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c'","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"8d0e51e0-08c9-11f0-a656-5b8621d22e82","responseTime":91,"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":"8d0e51e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","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/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"58438e1f672ccd3c245c68eadf304d77"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d2423d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fc2dd41-bc8e-469a-9e83-501069f4508c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.793606} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22998,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d2423d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","rebac_allow":false,"scope_allow":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":"8d2423d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d2423d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling 200 8ms","method":"POST","requestID":"8d2423d0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d25aa70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92384a1f-d241-4460-9f9c-8cb19517a5fe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832219.8269067} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.292377,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8d25aa70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8d25aa70-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d25aa70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling 200 31ms","method":"POST","requestID":"8d25aa70-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling"} device-1 | {"device":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"b315bb8b-6619-4647-bd3b-6deaa45af71c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3818154719358033656 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:fbPa\r\na=ice-pwd:duyG9hO9+oq6tvbVovn7C0Th\r\na=ice-options:trickle\r\na=fingerprint:sha-256 01:46:52:F6:3E:8A:D7:54:0F:84:67:27:68:D5:88:06:7C:FD:94:B4:0D:45:EA:38:C6:6B:5E:C0:0E:03:D1:D4\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3352665354 1 udp 2113937151 38193392-24b8-4956-9c1e-de4df3d01e60.local 39652 typ host generation 0 ufrag fbPa network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","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/b315bb8b-6619-4647-bd3b-6deaa45af71c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b315bb8b-6619-4647-bd3b-6deaa45af71c","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/b80e5d96-7a59-4164-a87d-2ccfe4756dcf'"} device-1 | {"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27ad6f1e088e0de6b9c852c45edbdebe","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":"connecting","url":"http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf"},{"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/a6fe95f2-8cca-44a4-a8df-3004d99892dc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"}}},"level":"info","message":"received a callback","requestID":"27ad6f1e088e0de6b9c852c45edbdebe"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27ad6f1e088e0de6b9c852c45edbdebe","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 5ms","method":"POST","requestID":"27ad6f1e088e0de6b9c852c45edbdebe","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:41 +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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"27ad6f1e088e0de6b9c852c45edbdebe"} device-1 | {"device":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"b315bb8b-6619-4647-bd3b-6deaa45af71c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b315bb8b-6619-4647-bd3b-6deaa45af71c","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/b315bb8b-6619-4647-bd3b-6deaa45af71c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b315bb8b-6619-4647-bd3b-6deaa45af71c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"adba9b34323d21ce4fd629dba6ac3036","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":"adba9b34323d21ce4fd629dba6ac3036","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/b80e5d96-7a59-4164-a87d-2ccfe4756dcf"},{"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/a6fe95f2-8cca-44a4-a8df-3004d99892dc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"}}},"level":"info","message":"received a callback","requestID":"adba9b34323d21ce4fd629dba6ac3036"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8e5c2ea0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb315bb8b-6619-4647-bd3b-6deaa45af71c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dbdd6db-b8be-451e-b293-e8420c9b474c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832221.8382745} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.241862,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e5c2ea0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","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":"8e5c2ea0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8e5c2ea0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c 200 7ms","method":"GET","requestID":"8e5c2ea0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"adba9b34323d21ce4fd629dba6ac3036","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:41 +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":"adba9b34323d21ce4fd629dba6ac3036"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e5f62f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a91d7b37-c9e7-41ec-8002-45011c14f90e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832221.8589797} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.103685,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e5f62f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","rebac_allow":false,"scope_allow":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":"8e5f62f0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e5f62f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling 200 7ms","method":"POST","requestID":"8e5f62f0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e60c280-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0e7021e-821d-4692-82f9-5d3580d635c4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832221.8923068} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393473,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e60c280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","rebac_allow":false,"scope_allow":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":"8e60c280-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e60c280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling 200 32ms","method":"POST","requestID":"8e60c280-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMX0.bYdNecQBODDN0bnqW3YyfVGsX7JDQ-gNZobNzQGM5lw","level":"info","message":"auth send jwt","requestID":"c8e2ab90e7e3d595eeae86467495d02c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c8e2ab90e7e3d595eeae86467495d02c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/450b538e-d480-4540-b653-ae000b3745d7","requestID":"c8e2ab90e7e3d595eeae86467495d02c"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.799477,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c8e2ab90e7e3d595eeae86467495d02c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832221,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMX0.bYdNecQBODDN0bnqW3YyfVGsX7JDQ-gNZobNzQGM5lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c8e2ab90e7e3d595eeae86467495d02c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/450b538e-d480-4540-b653-ae000b3745d7","requestID":"c8e2ab90e7e3d595eeae86467495d02c"} gateway-1 | {"time_local":"24/Mar/2025:16:03:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/450b538e-d480-4540-b653-ae000b3745d7 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8e2ab90e7e3d595eeae86467495d02c"} experiment-1 | {"level":"info","message":"GET /experiments/450b538e-d480-4540-b653-ae000b3745d7 200 9ms","method":"GET","requestID":"c8e2ab90e7e3d595eeae86467495d02c","responseTime":9,"status":200,"url":"/experiments/450b538e-d480-4540-b653-ae000b3745d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMX0.bYdNecQBODDN0bnqW3YyfVGsX7JDQ-gNZobNzQGM5lw","level":"info","message":"auth send jwt","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ff706f53c73c77c75c1463287f3eaf1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/450b538e-d480-4540-b653-ae000b3745d7","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.812122,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4ff706f53c73c77c75c1463287f3eaf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832221,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMX0.bYdNecQBODDN0bnqW3YyfVGsX7JDQ-gNZobNzQGM5lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ff706f53c73c77c75c1463287f3eaf1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Attempting to finish experiment","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.427653,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832221,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMX0.bYdNecQBODDN0bnqW3YyfVGsX7JDQ-gNZobNzQGM5lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c","device":"b80e5d96-7a59-4164-a87d-2ccfe4756dcf","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"a6fe95f2-8cca-44a4-a8df-3004d99892dc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/b315bb8b-6619-4647-bd3b-6deaa45af71c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b315bb8b-6619-4647-bd3b-6deaa45af71c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb315bb8b-6619-4647-bd3b-6deaa45af71c': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb315bb8b-6619-4647-bd3b-6deaa45af71c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"84a90d84-ed9b-4721-b4c8-a158db406bae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.0015767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42c1775a-82f6-465f-bf77-e27aef1bd92b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.001834} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"940618c55315957e5cc47d5e1d8e3d57","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":"940618c55315957e5cc47d5e1d8e3d57","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d653e2ed607bc4d6a8eb663d2d34e00","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 7ms","method":"POST","requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d653e2ed607bc4d6a8eb663d2d34e00","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":"closed","url":"http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf"},{"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/a6fe95f2-8cca-44a4-a8df-3004d99892dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"}}},"level":"info","message":"received a callback","requestID":"940618c55315957e5cc47d5e1d8e3d57"} 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/b80e5d96-7a59-4164-a87d-2ccfe4756dcf"},{"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/a6fe95f2-8cca-44a4-a8df-3004d99892dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"}}},"level":"info","message":"received a callback","requestID":"8d653e2ed607bc4d6a8eb663d2d34e00"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c 204 84ms","method":"DELETE","requestID":"8e6fb6a0-08c9-11f0-a656-5b8621d22e82","responseTime":84,"status":204,"url":"/peerconnections/b315bb8b-6619-4647-bd3b-6deaa45af71c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/450b538e-d480-4540-b653-ae000b3745d7"},"level":"info","message":"Successfully finished experiment","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e7e83b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb80e5d96-7a59-4164-a87d-2ccfe4756dcf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7244f12e-0178-4674-a694-634239ac204d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.0864787} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.155387,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e7e83b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8e7e83b0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e7e83b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling 200 31ms","method":"POST","requestID":"8e7e83b0-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e838cc0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F450b538e-d480-4540-b653-ae000b3745d7': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F450b538e-d480-4540-b653-ae000b3745d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"897f28fd-6651-42a7-a780-8e72e66e7059","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.0961928} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6fe95f2-8cca-44a4-a8df-3004d99892dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"280d0594-ea7a-4931-81c7-dc2a3b6b9d9b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.0962534} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a02bb820-5c36-47c8-81f2-efc5be5324e5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.0964265} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.475007,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8e838cc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc","object_type":"device","rebac_allow":false,"scope_allow":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":"8e838cc0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"4ff706f53c73c77c75c1463287f3eaf1","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e838cc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling 200 10ms","method":"POST","requestID":"8e838cc0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/450b538e-d480-4540-b653-ae000b3745d7","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} gateway-1 | {"time_local":"24/Mar/2025:16:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/450b538e-d480-4540-b653-ae000b3745d7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ff706f53c73c77c75c1463287f3eaf1"} experiment-1 | {"level":"info","message":"DELETE /experiments/450b538e-d480-4540-b653-ae000b3745d7 204 243ms","method":"DELETE","requestID":"4ff706f53c73c77c75c1463287f3eaf1","responseTime":243,"status":204,"url":"/experiments/450b538e-d480-4540-b653-ae000b3745d7"} gateway-1 | {"time_local":"24/Mar/2025:16:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.231","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"6dbc52f1e23c8600349ef67c252048b2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"940618c55315957e5cc47d5e1d8e3d57","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"940618c55315957e5cc47d5e1d8e3d57"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"8d653e2ed607bc4d6a8eb663d2d34e00","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d653e2ed607bc4d6a8eb663d2d34e00"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMn0.7ZFjwzvW4C0CW2mX0h9DfPif__wGX1an2rwKS4QhcBg","level":"info","message":"auth send jwt","requestID":"467292acd2b5b569b753c69a1e777679"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"467292acd2b5b569b753c69a1e777679","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"467292acd2b5b569b753c69a1e777679"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742045,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"467292acd2b5b569b753c69a1e777679","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832222,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMn0.7ZFjwzvW4C0CW2mX0h9DfPif__wGX1an2rwKS4QhcBg"} gateway-1 | {"time_local":"24/Mar/2025:16:03:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.914","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":"76bd486ebf962e2b6e7f28d6c974f6a6"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a6fe95f2-8cca-44a4-a8df-3004d99892dc' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac1329e7-4e1e-4639-8865-02cc6d524ff4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.2212584} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a530ae80-e0b3-4af2-ab80-56b57f679ed7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.225677} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b80e5d96-7a59-4164-a87d-2ccfe4756dcf' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"f38bf397-4db5-4db0-a8e8-029e76b9910f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.2380702} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e0ec561-a6ad-400d-b4e6-4502abaaec45","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.2383099} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"a0ab4a05-1b0d-4080-b5cb-85e7f4476993","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.2426226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"467292acd2b5b569b753c69a1e777679"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"467292acd2b5b569b753c69a1e777679","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:42 +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":"467292acd2b5b569b753c69a1e777679"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMn0.7ZFjwzvW4C0CW2mX0h9DfPif__wGX1an2rwKS4QhcBg","level":"info","message":"auth send jwt","requestID":"4431dd278c34322a9eae31162b6846dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4431dd278c34322a9eae31162b6846dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4431dd278c34322a9eae31162b6846dd"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937702,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4431dd278c34322a9eae31162b6846dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832222,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyMn0.7ZFjwzvW4C0CW2mX0h9DfPif__wGX1an2rwKS4QhcBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7ea33dcf-7d6a-432f-a458-152a458b26c7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.26762} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60f4399c-9e26-46a7-a2db-911577817bd5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.2718801} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"14068936-d213-4a06-8d1b-29a2ff0ae090","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.280237} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"200dbf42-3ffc-40df-8b31-bca75639326a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.280327} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.280207931Z"}]},"request_id":"cd9ae077-5ae6-4581-a57e-0fbe73112d2f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832222.284821} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4431dd278c34322a9eae31162b6846dd"} gateway-1 | {"time_local":"24/Mar/2025:16:03:42 +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":"4431dd278c34322a9eae31162b6846dd"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"4431dd278c34322a9eae31162b6846dd","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyM30.IDFcS2JnfWqUqMZxETcwtBu8gZEUJ-n8oNu8esxzYk0","level":"info","message":"auth send jwt","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727989,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832223,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyM30.IDFcS2JnfWqUqMZxETcwtBu8gZEUJ-n8oNu8esxzYk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"1888c0eb-408f-4aa8-9b5a-e3001b6b0f9a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832223.147715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1720b4bb-5bed-4cdf-8e8d-0a5a4dc0a10e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832223.1520376} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"f98973be-b9e4-4b69-957e-22c96ed85b42","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832223.194916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3"} gateway-1 | {"time_local":"24/Mar/2025:16:03:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/49115087-1e33-41f7-b196-9e32855b48e1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.081","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3"} device-1 | {"level":"info","message":"PATCH /devices/49115087-1e33-41f7-b196-9e32855b48e1 200 57ms","method":"PATCH","requestID":"a20dded5dd5e81ce0a65fb04e914bbe3","responseTime":57,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyM30.IDFcS2JnfWqUqMZxETcwtBu8gZEUJ-n8oNu8esxzYk0","level":"info","message":"auth send jwt","requestID":"a3d31729e9a6c0e6e68a17e953ee2366"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3d31729e9a6c0e6e68a17e953ee2366","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a3d31729e9a6c0e6e68a17e953ee2366"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763308,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3d31729e9a6c0e6e68a17e953ee2366","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832223,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyM30.IDFcS2JnfWqUqMZxETcwtBu8gZEUJ-n8oNu8esxzYk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3d31729e9a6c0e6e68a17e953ee2366","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a3d31729e9a6c0e6e68a17e953ee2366"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/websocket 200 39ms","method":"POST","requestID":"a3d31729e9a6c0e6e68a17e953ee2366","responseTime":39,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a3d31729e9a6c0e6e68a17e953ee2366"} device-1 | {"level":"info","message":"device 'http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"731c782dc500ca792bdfd8930c108adb","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":"731c782dc500ca792bdfd8930c108adb","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/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":"731c782dc500ca792bdfd8930c108adb"} device-1 | {"level":"info","message":"OPTIONS /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/websocket 200 1ms","method":"OPTIONS","requestID":"731c782dc500ca792bdfd8930c108adb","responseTime":1,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM","level":"info","message":"auth send jwt","requestID":"c7dbee8c26b8783fd34b108c50067ae5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c7dbee8c26b8783fd34b108c50067ae5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c7dbee8c26b8783fd34b108c50067ae5"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636471,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c7dbee8c26b8783fd34b108c50067ae5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c7dbee8c26b8783fd34b108c50067ae5","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c7dbee8c26b8783fd34b108c50067ae5"} gateway-1 | {"time_local":"24/Mar/2025:16:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/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":"c7dbee8c26b8783fd34b108c50067ae5"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/websocket 200 36ms","method":"POST","requestID":"c7dbee8c26b8783fd34b108c50067ae5","responseTime":36,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM","level":"info","message":"auth send jwt","requestID":"6edd0597c782b17c19df0141954a26fb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6edd0597c782b17c19df0141954a26fb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6edd0597c782b17c19df0141954a26fb"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682776,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6edd0597c782b17c19df0141954a26fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6edd0597c782b17c19df0141954a26fb","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"34c91182-9212-41da-b6a3-886f93e29818","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.6827025} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6edd0597c782b17c19df0141954a26fb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6edd0597c782b17c19df0141954a26fb"} gateway-1 | {"time_local":"24/Mar/2025:16:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? 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":"6edd0597c782b17c19df0141954a26fb"} device-1 | {"level":"info","message":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? 200 10ms","method":"GET","requestID":"6edd0597c782b17c19df0141954a26fb","responseTime":10,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM","level":"info","message":"auth send jwt","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647145,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.280207931Z"}]},"request_id":"b5e401d1-af2a-405b-b2b9-513da21afb06","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.7088583} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029","responseTime":14,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029"} gateway-1 | {"time_local":"24/Mar/2025:16:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? 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":"7f6d4dcb584f2fb8456c0bf6f1c48029"} device-1 | {"level":"info","message":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? 200 21ms","method":"GET","requestID":"7f6d4dcb584f2fb8456c0bf6f1c48029","responseTime":21,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM","level":"info","message":"auth send jwt","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41e8efa4ef99312bc080b289fd5ad0d6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.708192,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"41e8efa4ef99312bc080b289fd5ad0d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"41e8efa4ef99312bc080b289fd5ad0d6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to run experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to book experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully booked experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90235a10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90238120-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.014119,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90235a10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"90235a10-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772192,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90238120-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"90238120-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"4e881663-9b4a-49d7-b614-b207b4d77330","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.8251672} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90235a10-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.280207931Z"}]},"request_id":"bd929a6e-b7e7-4ad7-b471-dd19811df3ed","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.8286471} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90235a10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"90238120-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? 200 12ms","method":"GET","requestID":"90235a10-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90238120-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? 200 14ms","method":"GET","requestID":"90238120-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Setting up experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully locked booking for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to update booking for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully updated booking for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully set up experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90324e30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90329c50-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully running experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9032c360-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800484,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90324e30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90324e30-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249068,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90329c50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"90329c50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ccf706f-5ae9-4541-8b62-640dd0e48a19","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9234626} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514668,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9032c360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","rebac_allow":false,"scope_allow":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":"9032c360-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"bcc41f16-b595-4b91-b1da-e57823262970","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9256356} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"90324e30-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.280207931Z"}]},"request_id":"2e7c8e34-73db-46b2-991d-fbefba0e0248","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9277868} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9032c360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling 200 10ms","method":"POST","requestID":"9032c360-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90329c50-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00651fc1-aade-40ca-8723-e38de3c9c434#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00651fc1-aade-40ca-8723-e38de3c9c434","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d7b8fd7f-39e0-4b9f-8ee4-13ab217ae46d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.932346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8c87108-aa20-4096-8cab-66372c4bf349","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9326234} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"41e8efa4ef99312bc080b289fd5ad0d6","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"90353460-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90324e30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} device-1 | {"level":"info","message":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? 200 21ms","method":"GET","requestID":"90324e30-08c9-11f0-a656-5b8621d22e82","responseTime":21,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90329c50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? 200 44ms","method":"GET","requestID":"90329c50-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e14e9d8c-0b76-4e3d-b9e3-7c56658aad28","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9623992} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.906324,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90353460-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"90353460-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"903a1660-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"90353460-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:03:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling 200 35ms","method":"POST","requestID":"90353460-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 243ms","method":"POST","requestID":"41e8efa4ef99312bc080b289fd5ad0d6","responseTime":243,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81adb29e-4ef0-4c76-89c4-94efe62ea25a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9706979} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.72529,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"903a1660-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM","level":"info","message":"auth send jwt","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"903a1660-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"903a1660-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling 200 10ms","method":"POST","requestID":"903a1660-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814803,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9877ef84f4084bc1d788a3e7ba67b3f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"903beb20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3168fbfc-ed2d-4375-a281-4b8f65266ab7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.9821367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.238042910Z"}]},"request_id":"83283cf2-4971-4bf8-9695-a85fd5d1030b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832224.982252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.409844,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"903beb20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","rebac_allow":false,"scope_allow":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":"903beb20-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5"} gateway-1 | {"time_local":"24/Mar/2025:16:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5"} device-1 | {"level":"info","message":"GET /devices/49115087-1e33-41f7-b196-9e32855b48e1? 200 36ms","method":"GET","requestID":"9877ef84f4084bc1d788a3e7ba67b3f5","responseTime":36,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"903beb20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling 200 33ms","method":"POST","requestID":"903beb20-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Building connection plan","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} 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":"6a8949ae-06d3-4938-8295-9cd8e054f571"},{"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":"d7bd37f7-cb3e-460c-9d05-3fe1558b376e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ffa91a46-1bea-4f55-9d98-3499f06f6b8b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} 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/49115087-1e33-41f7-b196-9e32855b48e1"},{"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/43bda3c2-d709-44ac-8398-6fccf1d5f191"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNX0.YlP0aaW21qKy8kbIVXo3wEE_Vz0jZTGJK0FaACvL_3A","level":"info","message":"auth send jwt","requestID":"683c12544566a0333c4b807601435e41"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"683c12544566a0333c4b807601435e41","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"683c12544566a0333c4b807601435e41"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648169,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"90419070-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832224,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNH0.8eC0oa1dpJ-So4DbOXL99udGNOUsV8P8_0s9jmmSEfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90419070-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739051,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"683c12544566a0333c4b807601435e41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832225,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyNX0.YlP0aaW21qKy8kbIVXo3wEE_Vz0jZTGJK0FaACvL_3A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"683c12544566a0333c4b807601435e41","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:42.280207931Z"}]},"request_id":"bb648f71-d137-44e1-ace7-bcd4839f06fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832225.0229895} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"683c12544566a0333c4b807601435e41","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"683c12544566a0333c4b807601435e41"} device-1 | {"level":"info","message":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? 200 10ms","method":"GET","requestID":"683c12544566a0333c4b807601435e41","responseTime":10,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"683c12544566a0333c4b807601435e41"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"880b908b-f485-4e0a-ba53-c7c4ebbcb647","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832225.0266304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5ea969e-8f69-457c-85d5-f4568d7f56f1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832225.0268083} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"90419070-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346'","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346'","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"90419070-08c9-11f0-a656-5b8621d22e82"} 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":"90419070-08c9-11f0-a656-5b8621d22e82","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":"90419070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","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/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"41e8efa4ef99312bc080b289fd5ad0d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9050f9c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5deea231-ab71-493a-b684-f6634a8d69b7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832225.1203058} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.492152,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9050f9c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","rebac_allow":false,"scope_allow":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":"9050f9c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9050f9c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling 200 9ms","method":"POST","requestID":"9050f9c0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9052a770-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2332cf48-01c9-4525-9d25-e6418bd26885","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832225.1310425} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.353196,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9052a770-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","rebac_allow":false,"scope_allow":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":"9052a770-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9052a770-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling 200 31ms","method":"POST","requestID":"9052a770-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling"} device-1 | {"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7570506962740693188 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:9S6r\r\na=ice-pwd:2zZhmhQ8Ow2FUCjvHLB2TqFP\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A7:02:7E:5A:03:CA:2A:A1:66:76:DF:EF:31:74:A3:29:78:78:AC:41:D7:A6:33:2E:99:1F:61:25:8F:AE:FB:08\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"8a60a91a-1b67-4d19-802e-c8109348a346","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/8a60a91a-1b67-4d19-802e-c8109348a346' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a60a91a-1b67-4d19-802e-c8109348a346","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0720193a3204846d11283891795a6041","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":"0720193a3204846d11283891795a6041","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/49115087-1e33-41f7-b196-9e32855b48e1"},{"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/43bda3c2-d709-44ac-8398-6fccf1d5f191"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"}}},"level":"info","message":"received a callback","requestID":"0720193a3204846d11283891795a6041"} device-1 | {"content":{"candidate":"candidate:1683328891 1 udp 2113937151 d8652c0b-ff62-4ea4-b475-82cf4b5a76d7.local 52558 typ host generation 0 ufrag 9S6r network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0720193a3204846d11283891795a6041","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0720193a3204846d11283891795a6041"} device-1 | {"device":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"8a60a91a-1b67-4d19-802e-c8109348a346","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8a60a91a-1b67-4d19-802e-c8109348a346","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/8a60a91a-1b67-4d19-802e-c8109348a346' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a60a91a-1b67-4d19-802e-c8109348a346","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c721952603353a8c28cf8d1bc2d5093d","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":"c721952603353a8c28cf8d1bc2d5093d","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/49115087-1e33-41f7-b196-9e32855b48e1"},{"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/43bda3c2-d709-44ac-8398-6fccf1d5f191"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"}}},"level":"info","message":"received a callback","requestID":"c721952603353a8c28cf8d1bc2d5093d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9187f320-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a60a91a-1b67-4d19-802e-c8109348a346","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13a14fbc-0a2f-47a5-9e8b-569bb9f46fb9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.1583652} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.593482,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9187f320-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","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":"9187f320-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9187f320-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346 200 8ms","method":"GET","requestID":"9187f320-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"c721952603353a8c28cf8d1bc2d5093d","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"c721952603353a8c28cf8d1bc2d5093d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"918b2770-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76149471-81a7-46c3-bf83-3255b33ed92a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.17964} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.577545,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"918b2770-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","rebac_allow":false,"scope_allow":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":"918b2770-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"918b2770-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling 200 8ms","method":"POST","requestID":"918b2770-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"918cae10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77b42488-98f1-4f44-8f87-c6a12a749399","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.1889076} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.136126,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"918cae10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","rebac_allow":false,"scope_allow":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":"918cae10-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"918cae10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling 200 7ms","method":"POST","requestID":"918cae10-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI","level":"info","message":"auth send jwt","requestID":"cf0209bfc1792a7ba2ac422cc5244047"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf0209bfc1792a7ba2ac422cc5244047","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/00651fc1-aade-40ca-8723-e38de3c9c434","requestID":"cf0209bfc1792a7ba2ac422cc5244047"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690401,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"cf0209bfc1792a7ba2ac422cc5244047","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832227,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"cf0209bfc1792a7ba2ac422cc5244047","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/00651fc1-aade-40ca-8723-e38de3c9c434","requestID":"cf0209bfc1792a7ba2ac422cc5244047"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/00651fc1-aade-40ca-8723-e38de3c9c434 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf0209bfc1792a7ba2ac422cc5244047"} experiment-1 | {"level":"info","message":"GET /experiments/00651fc1-aade-40ca-8723-e38de3c9c434 200 9ms","method":"GET","requestID":"cf0209bfc1792a7ba2ac422cc5244047","responseTime":9,"status":200,"url":"/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI","level":"info","message":"auth send jwt","requestID":"d773151e169f2a169a51df5d3e561ff2"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"d773151e169f2a169a51df5d3e561ff2","responseTime":22,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/00651fc1-aade-40ca-8723-e38de3c9c434","requestID":"d773151e169f2a169a51df5d3e561ff2"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.727912,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d773151e169f2a169a51df5d3e561ff2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832227,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d773151e169f2a169a51df5d3e561ff2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Attempting to finish experiment","requestID":"d773151e169f2a169a51df5d3e561ff2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.798706,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832227,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346","device":"43bda3c2-d709-44ac-8398-6fccf1d5f191","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"49115087-1e33-41f7-b196-9e32855b48e1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/8a60a91a-1b67-4d19-802e-c8109348a346' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a60a91a-1b67-4d19-802e-c8109348a346","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a60a91a-1b67-4d19-802e-c8109348a346': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a60a91a-1b67-4d19-802e-c8109348a346","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"d1f787fc-dd17-44fd-99ba-b821d312b542","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.3151255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d599ad38-310f-4438-a204-edaa56f73bd5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.3153915} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8abf93ab4eb04d39c1cc031cf7c18d90","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":"8abf93ab4eb04d39c1cc031cf7c18d90","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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/49115087-1e33-41f7-b196-9e32855b48e1"},{"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/43bda3c2-d709-44ac-8398-6fccf1d5f191"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"}}},"level":"info","message":"received a callback","requestID":"8abf93ab4eb04d39c1cc031cf7c18d90"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7ec45abe099749f279dd2157a28c086","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":"b7ec45abe099749f279dd2157a28c086","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/49115087-1e33-41f7-b196-9e32855b48e1"},{"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/43bda3c2-d709-44ac-8398-6fccf1d5f191"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"}}},"level":"info","message":"received a callback","requestID":"b7ec45abe099749f279dd2157a28c086"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346 204 97ms","method":"DELETE","requestID":"919a69b0-08c9-11f0-a656-5b8621d22e82","responseTime":97,"status":204,"url":"/peerconnections/8a60a91a-1b67-4d19-802e-c8109348a346"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"},"level":"info","message":"Successfully finished experiment","requestID":"d773151e169f2a169a51df5d3e561ff2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91aba7c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49115087-1e33-41f7-b196-9e32855b48e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"872e9187-6525-45f8-b1a4-2080af18ab6c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.3924346} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500243,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"91aba7c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49115087-1e33-41f7-b196-9e32855b48e1","object_type":"device","rebac_allow":false,"scope_allow":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":"91aba7c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91aba7c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling 200 8ms","method":"POST","requestID":"91aba7c0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/49115087-1e33-41f7-b196-9e32855b48e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91ad0750-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00651fc1-aade-40ca-8723-e38de3c9c434': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00651fc1-aade-40ca-8723-e38de3c9c434","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"40d66760-d529-4b00-9b41-1c4d7bfd7c70","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.398807} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"567cc26d-67b8-4d35-8019-5867fab2c735","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.3989658} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d773151e169f2a169a51df5d3e561ff2","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43bda3c2-d709-44ac-8398-6fccf1d5f191","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92958f17-6b85-498a-90ca-321692403c82","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.4013703} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272475,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"91ad0750-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191","object_type":"device","rebac_allow":false,"scope_allow":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":"91ad0750-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91ad0750-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling 200 8ms","method":"POST","requestID":"91ad0750-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/00651fc1-aade-40ca-8723-e38de3c9c434","requestID":"d773151e169f2a169a51df5d3e561ff2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/00651fc1-aade-40ca-8723-e38de3c9c434 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d773151e169f2a169a51df5d3e561ff2"} experiment-1 | {"level":"info","message":"DELETE /experiments/00651fc1-aade-40ca-8723-e38de3c9c434 204 183ms","method":"DELETE","requestID":"d773151e169f2a169a51df5d3e561ff2","responseTime":183,"status":204,"url":"/experiments/00651fc1-aade-40ca-8723-e38de3c9c434"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.205","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"96dddabcb6269e2b5a3b65f60004643e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"8abf93ab4eb04d39c1cc031cf7c18d90","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"8abf93ab4eb04d39c1cc031cf7c18d90"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI","level":"info","message":"auth send jwt","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"b7ec45abe099749f279dd2157a28c086","responseTime":138,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2396","request_time":"2.799","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":"ea2ca4ab548dcdb775e7319442ea9c38"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7ec45abe099749f279dd2157a28c086"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.034857,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832227,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","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/49115087-1e33-41f7-b196-9e32855b48e1' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cc5c257-2b97-41cd-a8b7-9a5b47d68d3d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.4731486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6f18bc8-2c3e-40ad-b858-00a7fb4b9d84","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.4779363} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/43bda3c2-d709-44ac-8398-6fccf1d5f191' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"13d48a7c-a425-44ad-a4ad-5c317641094a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5116997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e286482-a232-4f19-be71-28046e07cba2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5118306} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"a3a39c71-b2c2-43ec-8e6b-f2ba661288b9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.515768} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"0b81b9a0e059a3f77190f1ed35ba7a76","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI","level":"info","message":"auth send jwt","requestID":"876d3d03819b49088a4de8531b05ed37"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"876d3d03819b49088a4de8531b05ed37","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"876d3d03819b49088a4de8531b05ed37"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.090978,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"876d3d03819b49088a4de8531b05ed37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832227,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyN30.9e25rhEKTYQv1X3WlfOBGvUV3sUXOJDTbRQ67eknUXI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"79b6c9c4-fd77-4764-86a0-426a3e044017","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5643637} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d09daf41-4288-472f-85b8-8ad191b6e266","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5677438} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a271f673-90fe-4e1a-8ab1-20e4dc021c80","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5793908} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e999702-2841-4d18-b241-905bcfeaa926","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.5797672} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","responseTime":34,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.579369709Z"}]},"request_id":"54d69b53-156e-48c1-a976-9d89107bf90b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832227.6037962} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"876d3d03819b49088a4de8531b05ed37"} device-1 | {"level":"info","message":"POST /devices? 201 80ms","method":"POST","requestID":"876d3d03819b49088a4de8531b05ed37","responseTime":80,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"876d3d03819b49088a4de8531b05ed37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOH0.QGrtWPODY4LqcdJAwBIDGSgY_npbeE18T44A-O5Vibs","level":"info","message":"auth send jwt","requestID":"a45e72f0b74dcdb68c60469b41a34032"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a45e72f0b74dcdb68c60469b41a34032","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a45e72f0b74dcdb68c60469b41a34032"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.31295,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a45e72f0b74dcdb68c60469b41a34032","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832228,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOH0.QGrtWPODY4LqcdJAwBIDGSgY_npbeE18T44A-O5Vibs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a45e72f0b74dcdb68c60469b41a34032","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"22e1d683-be5d-41c2-ac70-9f7f67f6c789","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832228.4890716} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"a45e72f0b74dcdb68c60469b41a34032","responseTime":26,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d059000a-d411-41d3-acfb-bfe06a6d5fc6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832228.5171638} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a45e72f0b74dcdb68c60469b41a34032","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"4d8c8648-fab4-4f18-9615-e077bfa2d192","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832228.5644343} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a45e72f0b74dcdb68c60469b41a34032","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a45e72f0b74dcdb68c60469b41a34032"} gateway-1 | {"time_local":"24/Mar/2025:16:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/42504054-8707-40ec-b030-96085eb8a70a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a45e72f0b74dcdb68c60469b41a34032"} device-1 | {"level":"info","message":"PATCH /devices/42504054-8707-40ec-b030-96085eb8a70a 200 87ms","method":"PATCH","requestID":"a45e72f0b74dcdb68c60469b41a34032","responseTime":87,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOH0.QGrtWPODY4LqcdJAwBIDGSgY_npbeE18T44A-O5Vibs","level":"info","message":"auth send jwt","requestID":"b0dc600243d0a0b0e0d450c983023bb1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0dc600243d0a0b0e0d450c983023bb1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b0dc600243d0a0b0e0d450c983023bb1"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672853,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0dc600243d0a0b0e0d450c983023bb1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832228,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOH0.QGrtWPODY4LqcdJAwBIDGSgY_npbeE18T44A-O5Vibs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b0dc600243d0a0b0e0d450c983023bb1","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b0dc600243d0a0b0e0d450c983023bb1"} gateway-1 | {"time_local":"24/Mar/2025:16:03:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"b0dc600243d0a0b0e0d450c983023bb1"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/websocket 200 37ms","method":"POST","requestID":"b0dc600243d0a0b0e0d450c983023bb1","responseTime":37,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa2e044420fe1ef5f1d111fe6aaea649","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":"fa2e044420fe1ef5f1d111fe6aaea649","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/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":"fa2e044420fe1ef5f1d111fe6aaea649"} device-1 | {"level":"info","message":"OPTIONS /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/websocket 200 1ms","method":"OPTIONS","requestID":"fa2e044420fe1ef5f1d111fe6aaea649","responseTime":1,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs","level":"info","message":"auth send jwt","requestID":"555730cbd40606ca526516a47b6b0e58"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"555730cbd40606ca526516a47b6b0e58","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"555730cbd40606ca526516a47b6b0e58"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.544328,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"555730cbd40606ca526516a47b6b0e58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"555730cbd40606ca526516a47b6b0e58","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"555730cbd40606ca526516a47b6b0e58"} gateway-1 | {"time_local":"24/Mar/2025:16:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/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":"555730cbd40606ca526516a47b6b0e58"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/websocket 200 24ms","method":"POST","requestID":"555730cbd40606ca526516a47b6b0e58","responseTime":24,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs","level":"info","message":"auth send jwt","requestID":"01e07638d988c46b9e9ebefcf90ca166"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01e07638d988c46b9e9ebefcf90ca166","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01e07638d988c46b9e9ebefcf90ca166"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678282,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"01e07638d988c46b9e9ebefcf90ca166","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"01e07638d988c46b9e9ebefcf90ca166","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"6f66de4a-9021-4f5a-bee2-6045c98b700a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832229.9319391} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"01e07638d988c46b9e9ebefcf90ca166","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01e07638d988c46b9e9ebefcf90ca166"} gateway-1 | {"time_local":"24/Mar/2025:16:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? 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":"01e07638d988c46b9e9ebefcf90ca166"} device-1 | {"level":"info","message":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? 200 12ms","method":"GET","requestID":"01e07638d988c46b9e9ebefcf90ca166","responseTime":12,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs","level":"info","message":"auth send jwt","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713435,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"00cd3fa2a5ef96c6db016ed7fd60152a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.579369709Z"}]},"request_id":"519825be-3b17-4253-a219-1453b1600152","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832229.9463935} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a"} device-1 | {"level":"info","message":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 200 10ms","method":"GET","requestID":"00cd3fa2a5ef96c6db016ed7fd60152a","responseTime":10,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 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":"00cd3fa2a5ef96c6db016ed7fd60152a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs","level":"info","message":"auth send jwt","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fc0ef90d8355e1f19bfda773737bc6ae","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.663723,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fc0ef90d8355e1f19bfda773737bc6ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc0ef90d8355e1f19bfda773737bc6ae","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to run experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to book experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully booked experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"933a8520-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"933aac30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680651,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"933a8520-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"933a8520-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867608,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"933aac30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"933aac30-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"d556c421-4d20-414d-ae83-2894968f1836","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.0098033} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"933a8520-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.579369709Z"}]},"request_id":"d2eb5b03-c807-4c77-a8c4-276bdaf3b629","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.0104337} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"933aac30-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"933a8520-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? 200 15ms","method":"GET","requestID":"933a8520-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"933aac30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 200 15ms","method":"GET","requestID":"933aac30-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Setting up experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully set up experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93511a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93514170-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully running experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93518f90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692774,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"93511a60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93511a60-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816696,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"93514170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"93514170-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07c5da83-337e-4f9b-973d-a008f761c13b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.1594014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"472d8b56-723c-40af-8598-09d93e4d4671","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.160307} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.83468,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"93518f90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","rebac_allow":false,"scope_allow":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":"93518f90-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"93511a60-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.579369709Z"}]},"request_id":"1a8f6e10-0217-4bfe-9fe8-99394a3de59a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.1619873} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93514170-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93518f90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/signaling 200 15ms","method":"POST","requestID":"93518f90-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93511a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? 200 43ms","method":"GET","requestID":"93511a60-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93514170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 200 43ms","method":"GET","requestID":"93514170-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F374d670c-f5fc-4a5a-8b10-8629a0401ffa#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F374d670c-f5fc-4a5a-8b10-8629a0401ffa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a8ce01b3-03ad-4e33-b6ce-22dc237b4de8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.1942723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e32a4b15-ce5c-466e-bda5-95c989f4e92d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.1945567} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9357d120-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"fc0ef90d8355e1f19bfda773737bc6ae","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93581f40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98d07729-9f28-4d17-8f4c-435d16ee9f0e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.199269} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6ea5fb8-6934-460d-b0a7-06c607bf5131","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.1993785} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.82779,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.095621,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9357d120-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","rebac_allow":false,"scope_allow":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":"9357d120-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"93581f40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","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":"24/Mar/2025:16:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"level":"info","message":"POST /experiments? 201 248ms","method":"POST","requestID":"fc0ef90d8355e1f19bfda773737bc6ae","responseTime":248,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93581f40-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9357d120-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling 200 10ms","method":"POST","requestID":"9357d120-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93581f40-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMH0.nafAvlWuhspb0jalI3LqluCgEl-E761rbyQQ92X5YYI","level":"info","message":"auth send jwt","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/signaling 200 9ms","method":"POST","requestID":"93581f40-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9359f400-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.477327,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832230,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMH0.nafAvlWuhspb0jalI3LqluCgEl-E761rbyQQ92X5YYI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc682f94-7a8a-4091-829d-e7602c7b6cc9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.2120657} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.202105,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9359f400-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","rebac_allow":false,"scope_allow":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":"9359f400-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.511678263Z"}]},"request_id":"e8cf4839-9834-49d0-8f23-b5243f09ce9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.215189} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9359f400-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling 200 7ms","method":"POST","requestID":"9359f400-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Building connection plan","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} 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":"30bce3eb-ef36-4074-80fc-e03adb36c10d"},{"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":"12e04ad5-9375-446a-b590-971b3cb60993"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3283e198-d424-48f3-9994-8e4f0b4938e0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} 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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480"},{"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/42504054-8707-40ec-b030-96085eb8a70a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad"} gateway-1 | {"time_local":"24/Mar/2025:16:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad"} device-1 | {"level":"info","message":"GET /devices/42504054-8707-40ec-b030-96085eb8a70a? 200 37ms","method":"GET","requestID":"97b9d7aadcb7d3cdedc0ed996fe675ad","responseTime":37,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMH0.nafAvlWuhspb0jalI3LqluCgEl-E761rbyQQ92X5YYI","level":"info","message":"auth send jwt","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.684554,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832229,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIyOX0.glH9MV7do9x3vyxCQBmCp67kXrOR-Q3m6vBtFnXuLUs"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7076,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1b0d34e82d939b7fe30ad6c67e278b7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832230,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMH0.nafAvlWuhspb0jalI3LqluCgEl-E761rbyQQ92X5YYI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:47.579369709Z"}]},"request_id":"cd3c09d5-1ff5-4db2-b093-545192d2843f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.2528975} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"8c5515d5-c8c1-4efc-a875-c479d618c11c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.255592} gateway-1 | {"time_local":"24/Mar/2025:16:03:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 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":"1b0d34e82d939b7fe30ad6c67e278b7c"} device-1 | {"level":"info","message":"GET /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480? 200 9ms","method":"GET","requestID":"1b0d34e82d939b7fe30ad6c67e278b7c","responseTime":9,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c626bac5-7311-4cec-a0f3-c587d17bfb8d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.2559562} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2'","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2'","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 53ms","method":"POST","requestID":"935f4b30-08c9-11f0-a656-5b8621d22e82","responseTime":53,"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":"935f4b30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","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} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fc0ef90d8355e1f19bfda773737bc6ae"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"936f02a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8706038e-c60a-4409-b8fd-1bdbd0bd703b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.3506246} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.289444,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"936f02a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","rebac_allow":false,"scope_allow":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":"936f02a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"936f02a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/signaling 200 8ms","method":"POST","requestID":"936f02a0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93708940-08c9-11f0-a656-5b8621d22e82"} device-1 | {"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90c44f66-284e-4704-b26a-d127bc0d9437","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832230.3606505} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345455,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"93708940-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","rebac_allow":false,"scope_allow":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":"93708940-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93708940-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling 200 34ms","method":"POST","requestID":"93708940-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling"} device-1 | {"device":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5571634853400593147 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:jr86\r\na=ice-pwd:X4UZ44ciMybr0lj3RouER5Yk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CC:AE:EE:6B:C7:13:6A:DB:D4:5A:6B:20:DE:AF:A0:8F:27:0F:6A:52:08:6D:06:FD:82:3D:CF:1C:DE:19:AE:7D\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3581268538 1 udp 2113937151 c81de329-0386-43b0-ad7c-4866fe0ca896.local 51405 typ host generation 0 ufrag jr86 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","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/c7bf5bc7-4e8c-43d2-95f6-168923562ee2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ed69c558d8d5e03c427e4852f738941","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":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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"}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ed69c558d8d5e03c427e4852f738941","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","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":[{"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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480"},{"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/42504054-8707-40ec-b030-96085eb8a70a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"}}},"level":"info","message":"received a callback","requestID":"4ed69c558d8d5e03c427e4852f738941"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"4ed69c558d8d5e03c427e4852f738941","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ed69c558d8d5e03c427e4852f738941"} device-1 | {"data":{"peerconnection":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","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/c7bf5bc7-4e8c-43d2-95f6-168923562ee2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b2d98bfa43cdd8e837e87f2dc4d5504d","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":"b2d98bfa43cdd8e837e87f2dc4d5504d","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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480"},{"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/42504054-8707-40ec-b030-96085eb8a70a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"}}},"level":"info","message":"received a callback","requestID":"b2d98bfa43cdd8e837e87f2dc4d5504d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"94a86d00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7bf5bc7-4e8c-43d2-95f6-168923562ee2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc3eda0c-bedb-429c-a90c-75c2cd86e619","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.404661} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.440437,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94a86d00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","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":"94a86d00-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"94a86d00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2 200 7ms","method":"GET","requestID":"94a86d00-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"b2d98bfa43cdd8e837e87f2dc4d5504d","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"b2d98bfa43cdd8e837e87f2dc4d5504d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94b03530-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a49ecec7-f907-4a33-8363-36903af38d33","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.4562814} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.004175,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94b03530-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","rebac_allow":false,"scope_allow":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":"94b03530-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94b03530-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling 200 9ms","method":"POST","requestID":"94b03530-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94b1e2e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1a996a7-3503-4a6b-8de1-f7d0ca1855a3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.4661508} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420127,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94b1e2e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","rebac_allow":false,"scope_allow":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":"94b1e2e0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94b1e2e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/signaling 200 8ms","method":"POST","requestID":"94b1e2e0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4","level":"info","message":"auth send jwt","requestID":"09d66f1ef6245eaa50c4d500e2867422"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09d66f1ef6245eaa50c4d500e2867422","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","requestID":"09d66f1ef6245eaa50c4d500e2867422"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.724571,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"09d66f1ef6245eaa50c4d500e2867422","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832232,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09d66f1ef6245eaa50c4d500e2867422","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","requestID":"09d66f1ef6245eaa50c4d500e2867422"} gateway-1 | {"time_local":"24/Mar/2025:16:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09d66f1ef6245eaa50c4d500e2867422"} experiment-1 | {"level":"info","message":"GET /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa 200 9ms","method":"GET","requestID":"09d66f1ef6245eaa50c4d500e2867422","responseTime":9,"status":200,"url":"/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4","level":"info","message":"auth send jwt","requestID":"0261280b20c01729da9ec3242aa19d8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0261280b20c01729da9ec3242aa19d8b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","requestID":"0261280b20c01729da9ec3242aa19d8b"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.419889,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0261280b20c01729da9ec3242aa19d8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832232,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0261280b20c01729da9ec3242aa19d8b","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Attempting to finish experiment","requestID":"0261280b20c01729da9ec3242aa19d8b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.761033,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832232,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2","device":"ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"42504054-8707-40ec-b030-96085eb8a70a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/c7bf5bc7-4e8c-43d2-95f6-168923562ee2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7bf5bc7-4e8c-43d2-95f6-168923562ee2': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7bf5bc7-4e8c-43d2-95f6-168923562ee2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"f2566309-b91c-42b5-b1d7-dd6068ff6187","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.5626965} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b3a9399-cccd-4e0d-b174-fd39e12064b2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.562976} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed403ad58eb04e65aa1d8f726182500d","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":"ed403ad58eb04e65aa1d8f726182500d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0c3f782a3db182f8c4ad3fea95bf8cb","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 7ms","method":"POST","requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82","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":"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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480"},{"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/42504054-8707-40ec-b030-96085eb8a70a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"}}},"level":"info","message":"received a callback","requestID":"ed403ad58eb04e65aa1d8f726182500d"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0c3f782a3db182f8c4ad3fea95bf8cb","responseTime":1,"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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480"},{"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/42504054-8707-40ec-b030-96085eb8a70a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"}}},"level":"info","message":"received a callback","requestID":"c0c3f782a3db182f8c4ad3fea95bf8cb"} device-1 | {"data":{"peerconnection":"c7bf5bc7-4e8c-43d2-95f6-168923562ee2","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2 204 62ms","method":"DELETE","requestID":"94bf2950-08c9-11f0-a656-5b8621d22e82","responseTime":62,"status":204,"url":"/peerconnections/c7bf5bc7-4e8c-43d2-95f6-168923562ee2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"},"level":"info","message":"Successfully finished experiment","requestID":"0261280b20c01729da9ec3242aa19d8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94ce1d70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef9ebcc7-bfcf-43d0-bf9b-61d845f95480","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"686c3902-0b4b-495b-8900-e023ce22ed39","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.6518383} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55155,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94ce1d70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480","object_type":"device","rebac_allow":false,"scope_allow":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":"94ce1d70-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94ce1d70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling 200 9ms","method":"POST","requestID":"94ce1d70-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94cfcb20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F374d670c-f5fc-4a5a-8b10-8629a0401ffa': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F374d670c-f5fc-4a5a-8b10-8629a0401ffa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"0103de5a-90a5-4647-98ac-91682d6c99b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.658879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bd1f18b-fd5a-451e-8446-2341140103c7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.6592474} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0261280b20c01729da9ec3242aa19d8b","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42504054-8707-40ec-b030-96085eb8a70a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6f5236e-9669-4df2-95b9-96b6935e2d5c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.6639314} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346997,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"94cfcb20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42504054-8707-40ec-b030-96085eb8a70a","object_type":"device","rebac_allow":false,"scope_allow":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":"94cfcb20-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94cfcb20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/42504054-8707-40ec-b030-96085eb8a70a/signaling 200 35ms","method":"POST","requestID":"94cfcb20-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/42504054-8707-40ec-b030-96085eb8a70a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa","requestID":"0261280b20c01729da9ec3242aa19d8b"} gateway-1 | {"time_local":"24/Mar/2025:16:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.289","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0261280b20c01729da9ec3242aa19d8b"} experiment-1 | {"level":"info","message":"DELETE /experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa 204 286ms","method":"DELETE","requestID":"0261280b20c01729da9ec3242aa19d8b","responseTime":286,"status":204,"url":"/experiments/374d670c-f5fc-4a5a-8b10-8629a0401ffa"} gateway-1 | {"time_local":"24/Mar/2025:16:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2531","request_time":"4.215","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"fea4c75b2bbbb40a9ccaee62d3a725db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 239ms","method":"POST","requestID":"ed403ad58eb04e65aa1d8f726182500d","responseTime":239,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.241","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed403ad58eb04e65aa1d8f726182500d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 239ms","method":"POST","requestID":"c0c3f782a3db182f8c4ad3fea95bf8cb","responseTime":239,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.241","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0c3f782a3db182f8c4ad3fea95bf8cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4","level":"info","message":"auth send jwt","requestID":"0b77111f2d3f344393887fa1df396206"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b77111f2d3f344393887fa1df396206","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0b77111f2d3f344393887fa1df396206"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.902358,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} gateway-1 | {"time_local":"24/Mar/2025:16:03:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.909","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":"384f9178b3f510cb9427d4b73a4bda0d"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0b77111f2d3f344393887fa1df396206","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832232,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","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/42504054-8707-40ec-b030-96085eb8a70a' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4c263dba-21e9-41f0-b536-429c8f105b6a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.825225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc9f3cfc-c61c-42e5-8f6c-1531efccaf8d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8294833} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","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/ef9ebcc7-bfcf-43d0-bf9b-61d845f95480' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d6ac78a8-6203-4e95-af7d-68a95a40ef85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8410993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6417faa5-d8f7-446f-b9f3-fe6fae3390cd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8412611} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"be3082fe-c87b-41ee-96df-73e94aa5691d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8452573} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0b77111f2d3f344393887fa1df396206"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b77111f2d3f344393887fa1df396206"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0b77111f2d3f344393887fa1df396206","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4","level":"info","message":"auth send jwt","requestID":"7ba47f994b6a4ba43b7b768c0032d90c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ba47f994b6a4ba43b7b768c0032d90c"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756759,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7ba47f994b6a4ba43b7b768c0032d90c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832232,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzMn0.wcNM6OsiDdB3y6PZsJcCrT0K4taFwBZ0W8aMOhAMYc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7997a051-fd82-4704-b2ad-56c4e00cf53f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8725398} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61467828-2b08-45e2-9a69-6aa93b7008cf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8778465} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"4c2c3138-fd79-43db-ad96-1df6681086de","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.887784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"958139a7-5835-481c-8f7e-94cbf1398b9d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8879342} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"0d2b3d70-e570-484a-862b-18ca51223c6c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832232.8930511} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ba47f994b6a4ba43b7b768c0032d90c"} gateway-1 | {"time_local":"24/Mar/2025:16:03: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ba47f994b6a4ba43b7b768c0032d90c"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"7ba47f994b6a4ba43b7b768c0032d90c","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"19a8aed77ce877206e99398d56872407"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19a8aed77ce877206e99398d56872407","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"19a8aed77ce877206e99398d56872407"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744506,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"19a8aed77ce877206e99398d56872407","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19a8aed77ce877206e99398d56872407","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617054,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"72f50afd-f253-4fdb-a3a1-77db399c5613","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.7967732} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"19a8aed77ce877206e99398d56872407","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"402e044f-d6ce-4bad-bfc1-9f0604a95295","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.7973673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7e14581-7ed9-440a-a5be-e034fe845ade","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.8009512} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"19a8aed77ce877206e99398d56872407","responseTime":3,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ab9843f-f58a-49a2-abba-6ed3b68c3b90","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.8021636} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"cf928a69-3db9-4a3f-b617-00de90fa1cb4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.8047836} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c"} device-1 | {"level":"info","message":"PATCH /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c 200 42ms","method":"PATCH","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c","responseTime":42,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0fd3d6879a6b5c4cc7a61eb7deeb374c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"699e2a7b3e1428a42e1e527280ef6ff7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"699e2a7b3e1428a42e1e527280ef6ff7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"699e2a7b3e1428a42e1e527280ef6ff7"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735781,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"699e2a7b3e1428a42e1e527280ef6ff7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"699e2a7b3e1428a42e1e527280ef6ff7","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"9802dbc9-805e-4e02-b24b-4337b761b615","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.8427713} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"19a8aed77ce877206e99398d56872407","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"19a8aed77ce877206e99398d56872407"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.087","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"19a8aed77ce877206e99398d56872407"} device-1 | {"level":"info","message":"PATCH /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9 200 81ms","method":"PATCH","requestID":"19a8aed77ce877206e99398d56872407","responseTime":81,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"9008ccfb8a1830384dc55979fe0c955b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9008ccfb8a1830384dc55979fe0c955b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9008ccfb8a1830384dc55979fe0c955b"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"699e2a7b3e1428a42e1e527280ef6ff7"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"699e2a7b3e1428a42e1e527280ef6ff7"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/websocket 200 41ms","method":"POST","requestID":"699e2a7b3e1428a42e1e527280ef6ff7","responseTime":41,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714475,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9008ccfb8a1830384dc55979fe0c955b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9008ccfb8a1830384dc55979fe0c955b","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9008ccfb8a1830384dc55979fe0c955b"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"9008ccfb8a1830384dc55979fe0c955b"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/websocket 200 41ms","method":"POST","requestID":"9008ccfb8a1830384dc55979fe0c955b","responseTime":41,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"77acbe6d7dec26b310f0629f9b4991cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"77acbe6d7dec26b310f0629f9b4991cd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"77acbe6d7dec26b310f0629f9b4991cd"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626316,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"77acbe6d7dec26b310f0629f9b4991cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"77acbe6d7dec26b310f0629f9b4991cd","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"2b5a965f-f13f-43f5-bb6a-9209abc77c02","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.9112887} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"77acbe6d7dec26b310f0629f9b4991cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"77acbe6d7dec26b310f0629f9b4991cd"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77acbe6d7dec26b310f0629f9b4991cd"} device-1 | {"level":"info","message":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? 200 33ms","method":"GET","requestID":"77acbe6d7dec26b310f0629f9b4991cd","responseTime":33,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"e6f02c39f9148137f56df50838ce56e1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6f02c39f9148137f56df50838ce56e1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e6f02c39f9148137f56df50838ce56e1"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755853,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e6f02c39f9148137f56df50838ce56e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e6f02c39f9148137f56df50838ce56e1","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"f99b08a0-17b2-4d0c-9801-2adcc975e38e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832233.9485493} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e6f02c39f9148137f56df50838ce56e1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e6f02c39f9148137f56df50838ce56e1"} gateway-1 | {"time_local":"24/Mar/2025:16:03:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6f02c39f9148137f56df50838ce56e1"} device-1 | {"level":"info","message":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? 200 9ms","method":"GET","requestID":"e6f02c39f9148137f56df50838ce56e1","responseTime":9,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys","level":"info","message":"auth send jwt","requestID":"9ac420559a2f8fda5892575790d67b8a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ac420559a2f8fda5892575790d67b8a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9ac420559a2f8fda5892575790d67b8a"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.681678,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ac420559a2f8fda5892575790d67b8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ac420559a2f8fda5892575790d67b8a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to run experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to book experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully booked experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95a28470-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.519911,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95a28470-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95a28470-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026042,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"f9ce9bfc-6423-4fdd-8787-26bed99ec227","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.0474308} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95a28470-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"159c08aa-1ec6-45af-93b0-3fb790ceac57","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.0482435} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95a28470-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? 200 13ms","method":"GET","requestID":"95a28470-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? 200 13ms","method":"GET","requestID":"95a2ab80-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Setting up experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully set up experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95b262f0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully running experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7364,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898978,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"476eb85c-f8dc-48d7-b151-847a8e71e7c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1499057} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.298441,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95b262f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"95b262f0-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"c9536802-a02a-47b5-b0f7-f5b2370a302a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1516013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"59761a7b-4952-4085-bcfe-b2d3e66ae75c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1771672} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa80cfe80-fd9c-44d7-a906-eaab161d8eea#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa80cfe80-fd9c-44d7-a906-eaab161d8eea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"911a1b18-9881-4ac7-9bfa-cc5a5b5382ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1819453} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95b262f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling 200 39ms","method":"POST","requestID":"95b262f0-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"408eb40a-7b35-4709-ad4f-1e1042d8d53a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.18232} device-1 | {"level":"info","message":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? 200 42ms","method":"GET","requestID":"95b214d0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"9ac420559a2f8fda5892575790d67b8a","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? 200 42ms","method":"GET","requestID":"95b23be0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95b8cb90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a75b477-7cac-408c-bfeb-4d8312193fae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1896074} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.954661,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95b98ee0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95b8cb90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","rebac_allow":false,"scope_allow":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":"95b8cb90-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9ac420559a2f8fda5892575790d67b8a"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95b8cb90-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:03:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"9ac420559a2f8fda5892575790d67b8a","responseTime":238,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling 200 9ms","method":"POST","requestID":"95b8cb90-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e0b7116-dd2c-4957-a004-20427d57268c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.1956987} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.911968,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95b98ee0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","rebac_allow":false,"scope_allow":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":"95b98ee0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNH0.2ciZDl6_b3jHti6Or6kwLeDhHybBMeEWu5p-YUOOVxc","level":"info","message":"auth send jwt","requestID":"dc916e0c624005f5cc02a1407654fc91"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dc916e0c624005f5cc02a1407654fc91","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc916e0c624005f5cc02a1407654fc91"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95b98ee0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling 200 35ms","method":"POST","requestID":"95b98ee0-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82774,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dc916e0c624005f5cc02a1407654fc91","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832234,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNH0.2ciZDl6_b3jHti6Or6kwLeDhHybBMeEWu5p-YUOOVxc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"dc916e0c624005f5cc02a1407654fc91","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95bf3430-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.841078971Z"}]},"request_id":"f04b4b24-3860-4751-9f48-6db8af5d4073","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.2305632} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa09ab85-4377-4fd2-a46d-26448ff88dfe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.2307343} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc916e0c624005f5cc02a1407654fc91","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.129692,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95bf3430-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","rebac_allow":false,"scope_allow":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":"95bf3430-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc916e0c624005f5cc02a1407654fc91"} gateway-1 | {"time_local":"24/Mar/2025:16:03:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc916e0c624005f5cc02a1407654fc91"} device-1 | {"level":"info","message":"GET /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9? 200 35ms","method":"GET","requestID":"dc916e0c624005f5cc02a1407654fc91","responseTime":35,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95bf3430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling 200 8ms","method":"POST","requestID":"95bf3430-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Building connection plan","requestID":"9ac420559a2f8fda5892575790d67b8a"} 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":"2b8670a2-7e89-435c-9342-5ecf8fac0e87"},{"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":"92076a8b-cbae-42c6-b171-904883c46914"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"962ad9d9-c940-4549-bed0-1356bcf77843"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9ac420559a2f8fda5892575790d67b8a"} 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/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"},{"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/892f4bf1-d5ef-4856-8fd7-705499408f8c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9ac420559a2f8fda5892575790d67b8a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNH0.2ciZDl6_b3jHti6Or6kwLeDhHybBMeEWu5p-YUOOVxc","level":"info","message":"auth send jwt","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.60249,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832233,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzM30.awfgyxU9ar7bRPQi6eEnLMM9X0hI_Vj-12xxOrYK7Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731029,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832234,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNH0.2ciZDl6_b3jHti6Or6kwLeDhHybBMeEWu5p-YUOOVxc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:52.887762210Z"}]},"request_id":"e6271724-9857-42b7-ba1c-973466c6c109","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.2456589} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17"} gateway-1 | {"time_local":"24/Mar/2025:16:03:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"372d85bc-818f-41de-993f-73e452f88af4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.2734518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5a26b5d-5842-40ad-b6ba-92cf36e9b65c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.2737093} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c? 200 33ms","method":"GET","requestID":"25c1cf8fdffbbfc3ee63819bbdb91e17","responseTime":33,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9'","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9'","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"95c0bad0-08c9-11f0-a656-5b8621d22e82","responseTime":87,"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":"95c0bad0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9ac420559a2f8fda5892575790d67b8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95d2bc30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fb06607-9117-4c56-b265-9af369e53167","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.3600168} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.036538,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95d2bc30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","rebac_allow":false,"scope_allow":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":"95d2bc30-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95d2bc30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling 200 9ms","method":"POST","requestID":"95d2bc30-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95d442d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49652bf0-2ff2-47b7-9bf9-10020e390484","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832234.3700395} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.475434,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"95d442d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","rebac_allow":false,"scope_allow":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":"95d442d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95d442d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling 200 9ms","method":"POST","requestID":"95d442d0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling"} device-1 | {"device":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/0c067bda-f066-4b18-8ad9-7e26001740d9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"693e7342c9f25c2ea856833ae347014f","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":"693e7342c9f25c2ea856833ae347014f","responseTime":0,"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/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"},{"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/892f4bf1-d5ef-4856-8fd7-705499408f8c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"}}},"level":"info","message":"received a callback","requestID":"693e7342c9f25c2ea856833ae347014f"} device-1 | {"device":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"693e7342c9f25c2ea856833ae347014f","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"693e7342c9f25c2ea856833ae347014f"} device-1 | {"device":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0c067bda-f066-4b18-8ad9-7e26001740d9","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/0c067bda-f066-4b18-8ad9-7e26001740d9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"59c09930b90e6ef2bde5b94730daff7c","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":"59c09930b90e6ef2bde5b94730daff7c","responseTime":0,"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/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"},{"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/892f4bf1-d5ef-4856-8fd7-705499408f8c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"}}},"level":"info","message":"received a callback","requestID":"59c09930b90e6ef2bde5b94730daff7c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"970e2260-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c067bda-f066-4b18-8ad9-7e26001740d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95ba467d-bf21-4726-8187-2cdc8bcdf4c1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.426819} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.34612,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"970e2260-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9","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":"970e2260-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"970e2260-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9 200 9ms","method":"GET","requestID":"970e2260-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"59c09930b90e6ef2bde5b94730daff7c","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"59c09930b90e6ef2bde5b94730daff7c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9712b640-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1f76d8c-37c0-405f-9bd8-ef20b024f107","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.4578671} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.803271,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9712b640-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","rebac_allow":false,"scope_allow":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":"9712b640-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9712b640-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling 200 31ms","method":"POST","requestID":"9712b640-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9717bf50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"448eb2bf-0060-472a-ba99-60fa44cc0e07","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.489852} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.959738,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9717bf50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","rebac_allow":false,"scope_allow":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":"9717bf50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9717bf50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling 200 9ms","method":"POST","requestID":"9717bf50-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8","level":"info","message":"auth send jwt","requestID":"ead5c4e62fa111b74e893eec339e87e7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ead5c4e62fa111b74e893eec339e87e7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","requestID":"ead5c4e62fa111b74e893eec339e87e7"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":21.16852,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ead5c4e62fa111b74e893eec339e87e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832236,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"ead5c4e62fa111b74e893eec339e87e7","responseTime":23,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","requestID":"ead5c4e62fa111b74e893eec339e87e7"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ead5c4e62fa111b74e893eec339e87e7"} experiment-1 | {"level":"info","message":"GET /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea 200 31ms","method":"GET","requestID":"ead5c4e62fa111b74e893eec339e87e7","responseTime":31,"status":200,"url":"/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8","level":"info","message":"auth send jwt","requestID":"df3229cd2a17767952a708c9fa5ceea4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df3229cd2a17767952a708c9fa5ceea4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","requestID":"df3229cd2a17767952a708c9fa5ceea4"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690381,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"df3229cd2a17767952a708c9fa5ceea4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832236,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"df3229cd2a17767952a708c9fa5ceea4","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Attempting to finish experiment","requestID":"df3229cd2a17767952a708c9fa5ceea4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.792019,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832236,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"device":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"892f4bf1-d5ef-4856-8fd7-705499408f8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/0c067bda-f066-4b18-8ad9-7e26001740d9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c067bda-f066-4b18-8ad9-7e26001740d9","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c067bda-f066-4b18-8ad9-7e26001740d9': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c067bda-f066-4b18-8ad9-7e26001740d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"9c869872-d48a-4761-a8e9-0369b7e730c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.5866897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20f6ac5e-d95d-4277-9222-74173e74c097","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.5870454} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e3fe111889a438dad4d7d9bb6f493357","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 7ms","method":"POST","requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"e3fe111889a438dad4d7d9bb6f493357","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"72c301a395f1eb3c19c44931320c0cf7","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":"72c301a395f1eb3c19c44931320c0cf7","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/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"},{"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/892f4bf1-d5ef-4856-8fd7-705499408f8c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"}}},"level":"info","message":"received a callback","requestID":"e3fe111889a438dad4d7d9bb6f493357"} 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/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9"},{"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/892f4bf1-d5ef-4856-8fd7-705499408f8c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"}}},"level":"info","message":"received a callback","requestID":"72c301a395f1eb3c19c44931320c0cf7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9 204 84ms","method":"DELETE","requestID":"9721aa60-08c9-11f0-a656-5b8621d22e82","responseTime":84,"status":204,"url":"/peerconnections/0c067bda-f066-4b18-8ad9-7e26001740d9"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"},"level":"info","message":"Successfully finished experiment","requestID":"df3229cd2a17767952a708c9fa5ceea4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9730c590-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4847630-31b4-4be2-8e15-17eddcdb121d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.673704} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.285313,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9730c590-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"9730c590-08c9-11f0-a656-5b8621d22e82","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9730c590-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling 200 29ms","method":"POST","requestID":"9730c590-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97358080-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F892f4bf1-d5ef-4856-8fd7-705499408f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02897480-a2f7-4bd7-8e50-d83f4fef5c93","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.6843588} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.910142,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"97358080-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c","object_type":"device","rebac_allow":false,"scope_allow":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":"97358080-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa80cfe80-fd9c-44d7-a906-eaab161d8eea': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa80cfe80-fd9c-44d7-a906-eaab161d8eea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"f2eac372-3770-4753-b450-7bb65cdb929a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.686274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06aa51d4-1705-4176-999d-e85ab126c1fb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.6864922} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"df3229cd2a17767952a708c9fa5ceea4","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97358080-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling 200 9ms","method":"POST","requestID":"97358080-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea","requestID":"df3229cd2a17767952a708c9fa5ceea4"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df3229cd2a17767952a708c9fa5ceea4"} experiment-1 | {"level":"info","message":"DELETE /experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea 204 237ms","method":"DELETE","requestID":"df3229cd2a17767952a708c9fa5ceea4","responseTime":237,"status":204,"url":"/experiments/a80cfe80-fd9c-44d7-a906-eaab161d8eea"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.888","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"db1409efba95a279f89441928a4d0b9f"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.925","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"7afc91414ca478bcb0705b2a0c9bae63"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"e3fe111889a438dad4d7d9bb6f493357","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +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.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3fe111889a438dad4d7d9bb6f493357"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"72c301a395f1eb3c19c44931320c0cf7","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"72c301a395f1eb3c19c44931320c0cf7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8","level":"info","message":"auth send jwt","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/892f4bf1-d5ef-4856-8fd7-705499408f8c' closed"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.967606,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832236,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4ddccdf7-b48e-4c6b-9129-2410f7ff16f9' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4da36934-7bc3-462a-9e5e-28fb86054074","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.8264053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdb0758f-1ed3-43d1-b720-eeb0dc39df1c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.8308454} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"dfd4d4b7-5c73-4a4e-89af-ac89bac54241","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.8671525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"327bffdd-907d-4ed4-b9b0-75d9d93f8d41","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.8672779} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":38,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"7c9bf585-49eb-48f4-a89a-afafe1fb3b97","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.8717287} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"f9361b2e7fbf9df1d2fae758e64f3ef6","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8","level":"info","message":"auth send jwt","requestID":"863f79a227a0bd223cc654e754327061"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"863f79a227a0bd223cc654e754327061","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"863f79a227a0bd223cc654e754327061"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.881197,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"863f79a227a0bd223cc654e754327061","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832236,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzNn0.6ZrvnfNbbyxJe7DYn1iTNLsbSDBzwEVKDTbEBddFsO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b9d1cc3-7325-4706-9c43-369406c91849","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.9197338} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8721a994-9f5c-41c2-9b86-6b81848b452b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.9245918} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"29c01b7d-51e5-4749-b30f-8be8a489ca91","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.93331} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78fc89fd-384d-470e-860f-d1451c5ea658","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.9334927} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"910f72bb-9c4f-410b-8a80-b77e11dbfa3e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832236.962088} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"863f79a227a0bd223cc654e754327061"} gateway-1 | {"time_local":"24/Mar/2025:16:03:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"863f79a227a0bd223cc654e754327061"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"863f79a227a0bd223cc654e754327061","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:57Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"71a545c9dcd1275b741421e466a95a87"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"71a545c9dcd1275b741421e466a95a87","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.801703,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"71a545c9dcd1275b741421e466a95a87"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660563,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"71a545c9dcd1275b741421e466a95a87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71a545c9dcd1275b741421e466a95a87","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"c6007fdd-4274-4091-8e4e-3db0594b0134","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.833911} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20e7a9f8-59d6-4110-8288-0ae9fbe05576","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.8389282} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"767ecbee-0ace-448d-9df7-3283fbe7acfe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.8429327} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71a545c9dcd1275b741421e466a95a87","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af6eb92c-913d-4040-b27b-5b262bb3e9ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.8467247} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"71a545c9dcd1275b741421e466a95a87","responseTime":2,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"98c3582d-9830-4a0e-9c1a-74efdd76cfd9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.8788946} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e"} device-1 | {"level":"info","message":"PATCH /devices/22b446d4-da99-4135-964e-787fdca0c083 200 82ms","method":"PATCH","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e","responseTime":82,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083"} gateway-1 | {"time_local":"24/Mar/2025:16:03:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/22b446d4-da99-4135-964e-787fdca0c083 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.086","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0c0e67c87ef503d1d55b5a3750d8d83e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"9043a3a9be2a979829e149636870a8e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9043a3a9be2a979829e149636870a8e2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9043a3a9be2a979829e149636870a8e2"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60362,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9043a3a9be2a979829e149636870a8e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9043a3a9be2a979829e149636870a8e2","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"a32ef360-3136-4540-8709-a35ee826f1e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.8881347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71a545c9dcd1275b741421e466a95a87","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"71a545c9dcd1275b741421e466a95a87"} gateway-1 | {"time_local":"24/Mar/2025:16:03:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/99e952f6-f8f6-402d-9a77-c32974a3f901 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"71a545c9dcd1275b741421e466a95a87"} device-1 | {"level":"info","message":"PATCH /devices/99e952f6-f8f6-402d-9a77-c32974a3f901 200 60ms","method":"PATCH","requestID":"71a545c9dcd1275b741421e466a95a87","responseTime":60,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"2416a5b1e459acf034787fe9bf40cca6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2416a5b1e459acf034787fe9bf40cca6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2416a5b1e459acf034787fe9bf40cca6"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659118,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2416a5b1e459acf034787fe9bf40cca6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9043a3a9be2a979829e149636870a8e2"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"2416a5b1e459acf034787fe9bf40cca6","responseTime":26,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:03:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"9043a3a9be2a979829e149636870a8e2"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/websocket 200 39ms","method":"POST","requestID":"9043a3a9be2a979829e149636870a8e2","responseTime":39,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2416a5b1e459acf034787fe9bf40cca6"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/websocket 200 39ms","method":"POST","requestID":"2416a5b1e459acf034787fe9bf40cca6","responseTime":39,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:03:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"2416a5b1e459acf034787fe9bf40cca6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622991,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5e5a437a53dee59bf3c3bd209f7b70f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"ece85311-ad59-422e-935e-fd2ed1fcf5c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832237.9862242} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2"} gateway-1 | {"time_local":"24/Mar/2025:16:03:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2"} device-1 | {"level":"info","message":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? 200 9ms","method":"GET","requestID":"5e5a437a53dee59bf3c3bd209f7b70f2","responseTime":9,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU","level":"info","message":"auth send jwt","requestID":"ad78a715ee0690564f841e96ab2cc179"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"ad78a715ee0690564f841e96ab2cc179","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad78a715ee0690564f841e96ab2cc179"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635831,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad78a715ee0690564f841e96ab2cc179","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832237,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzN30.bUIbWWQmvlu-YdvGh5ZZ_h-NdQsnt1M5-qjDy_3MdqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ad78a715ee0690564f841e96ab2cc179","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"c4019b10-0c15-4daa-b4b4-ef32763e6d9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.02347} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad78a715ee0690564f841e96ab2cc179","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad78a715ee0690564f841e96ab2cc179"} device-1 | {"level":"info","message":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? 200 9ms","method":"GET","requestID":"ad78a715ee0690564f841e96ab2cc179","responseTime":9,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083?"} gateway-1 | {"time_local":"24/Mar/2025:16:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad78a715ee0690564f841e96ab2cc179"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY","level":"info","message":"auth send jwt","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68ec0d1a9e7de84c9953e02818a185fe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.634957,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68ec0d1a9e7de84c9953e02818a185fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68ec0d1a9e7de84c9953e02818a185fe","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to run experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to book experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully booked experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"980c3170-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670308,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613003,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"980c3170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"980c3170-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"b908eae1-0d6a-47cb-9bf9-d7e33fc5d008","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.1134171} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82","responseTime":23,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"2db42669-8e95-4412-b2dd-9f03a7c1aeb3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.114241} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"980c3170-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? 200 32ms","method":"GET","requestID":"980c0a60-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"980c3170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? 200 31ms","method":"GET","requestID":"980c3170-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Setting up experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully set up experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"981ecf10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57200","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.575804,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743587,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully running experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"83c6dc9c-44d1-44f9-8643-03cbf3028d70","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2182536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"2e3af95d-d678-475e-8190-9c2749934add","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2189946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? 200 38ms","method":"GET","requestID":"981b4ca0-08c9-11f0-a656-5b8621d22e82","responseTime":38,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0c5a06e-a8a1-4c43-82e9-ff9a7061ff1a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2221746} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.365578,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} device-1 | {"level":"info","message":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? 200 37ms","method":"GET","requestID":"981b73b0-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"981ecf10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"981ecf10-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cbef0eb-5187-4499-98fd-1e0b152a843d#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cbef0eb-5187-4499-98fd-1e0b152a843d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"1840e39d-97d3-4b94-afd4-8f424d7aed5d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2247252} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"389645f2-4478-4e79-b493-7ae79ed5c365","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2250662} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"68ec0d1a9e7de84c9953e02818a185fe","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9821b540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"981ecf10-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling 200 22ms","method":"POST","requestID":"981ecf10-08c9-11f0-a656-5b8621d22e82","responseTime":22,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a238150-bce3-4a65-80a7-a172c4888f34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2331417} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.560111,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9821b540-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","rebac_allow":false,"scope_allow":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":"9821b540-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} gateway-1 | {"time_local":"24/Mar/2025:16:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"level":"info","message":"POST /experiments? 201 230ms","method":"POST","requestID":"68ec0d1a9e7de84c9953e02818a185fe","responseTime":230,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9826be50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9821b540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling 200 35ms","method":"POST","requestID":"9821b540-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY","level":"info","message":"auth send jwt","requestID":"2b451bbdc09a79d94daed8dc64581a7a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"982781a0-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b451bbdc09a79d94daed8dc64581a7a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e4ac9ef-8d83-467d-9c20-a80a55fa4b0c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2674673} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b451bbdc09a79d94daed8dc64581a7a"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.247231,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9826be50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","rebac_allow":false,"scope_allow":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":"9826be50-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948097,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1d34947-45f7-43db-9182-c085ed82a682","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2734137} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9826be50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/signaling 200 13ms","method":"POST","requestID":"9826be50-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2b451bbdc09a79d94daed8dc64581a7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2b451bbdc09a79d94daed8dc64581a7a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.748893,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"982781a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","rebac_allow":false,"scope_allow":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":"982781a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.867114181Z"}]},"request_id":"599b55be-1875-4510-9333-a59731f5d394","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.2788} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"982781a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/signaling 200 13ms","method":"POST","requestID":"982781a0-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2b451bbdc09a79d94daed8dc64581a7a","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Building connection plan","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} 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":"364c93e7-b55e-4659-ae51-272ed663ae95"},{"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":"ca41ae25-ce86-4040-b22d-cf124bb5e0ba"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9a1a6281-5c66-4f2b-84e8-2a1c8a79368d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} 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/99e952f6-f8f6-402d-9a77-c32974a3f901"},{"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/22b446d4-da99-4135-964e-787fdca0c083"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b451bbdc09a79d94daed8dc64581a7a"} gateway-1 | {"time_local":"24/Mar/2025:16:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b451bbdc09a79d94daed8dc64581a7a"} device-1 | {"level":"info","message":"GET /devices/99e952f6-f8f6-402d-9a77-c32974a3f901? 200 39ms","method":"GET","requestID":"2b451bbdc09a79d94daed8dc64581a7a","responseTime":39,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901?"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.755299,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY","level":"info","message":"auth send jwt","requestID":"fc7d754489e8735af6ec7816f83867b0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fc7d754489e8735af6ec7816f83867b0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc7d754489e8735af6ec7816f83867b0"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.620735,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fc7d754489e8735af6ec7816f83867b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832238,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjIzOH0.irx2k8h4Ch_yzUNOYb6Qz2kNaJcuze_L5qiatNJ21MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fc7d754489e8735af6ec7816f83867b0","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"f0c5c8f1-670e-432c-a9be-9399ed318229","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.3178508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cfb9aed-8445-4e6f-a7fc-48fff3a48c10","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.3179564} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:03:56.933286620Z"}]},"request_id":"eba28b0d-b67b-483c-9206-a2aed78e740a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.3187106} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc7d754489e8735af6ec7816f83867b0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc7d754489e8735af6ec7816f83867b0"} gateway-1 | {"time_local":"24/Mar/2025:16:03:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? 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":"fc7d754489e8735af6ec7816f83867b0"} device-1 | {"level":"info","message":"GET /devices/22b446d4-da99-4135-964e-787fdca0c083? 200 11ms","method":"GET","requestID":"fc7d754489e8735af6ec7816f83867b0","responseTime":11,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62'","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62'","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 56ms","method":"POST","requestID":"982d9c20-08c9-11f0-a656-5b8621d22e82","responseTime":56,"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":"982d9c20-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"68ec0d1a9e7de84c9953e02818a185fe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"983defd0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e7802e4-10db-46bf-a542-e4560c8c49e0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.4170957} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.251179,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"983defd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","rebac_allow":false,"scope_allow":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":"983defd0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"983defd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling 200 8ms","method":"POST","requestID":"983defd0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"983f4f60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89ca6c0f-d798-4a00-a182-c69c522b47df","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832238.4536502} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.858785,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:03:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"983f4f60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"983f4f60-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"983f4f60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/signaling 200 35ms","method":"POST","requestID":"983f4f60-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/signaling"} device-1 | {"device":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed88d41d1aacc642cb8f7dfa6030380f","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":"ed88d41d1aacc642cb8f7dfa6030380f","responseTime":0,"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/99e952f6-f8f6-402d-9a77-c32974a3f901"},{"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/22b446d4-da99-4135-964e-787fdca0c083"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"}}},"level":"info","message":"received a callback","requestID":"ed88d41d1aacc642cb8f7dfa6030380f"} device-1 | {"device":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"ed88d41d1aacc642cb8f7dfa6030380f","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed88d41d1aacc642cb8f7dfa6030380f"} device-1 | {"data":{"peerconnection":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","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/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a27234b0b8c291b6b4f0451e46808842","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":"a27234b0b8c291b6b4f0451e46808842","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/99e952f6-f8f6-402d-9a77-c32974a3f901"},{"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/22b446d4-da99-4135-964e-787fdca0c083"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"}}},"level":"info","message":"received a callback","requestID":"a27234b0b8c291b6b4f0451e46808842"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9974e930-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9270ee98-e6d0-4ca3-8bdf-62f4fc9a3233","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.4550805} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.371409,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9974e930-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","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":"9974e930-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9974e930-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62 200 7ms","method":"GET","requestID":"9974e930-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"a27234b0b8c291b6b4f0451e46808842","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +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":"a27234b0b8c291b6b4f0451e46808842"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99786ba0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50b198b2-fa8a-4cdc-91ba-a14272a476dc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.478464} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368657,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"99786ba0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","rebac_allow":false,"scope_allow":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":"99786ba0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99786ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling 200 8ms","method":"POST","requestID":"99786ba0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9979f240-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"635aa6ef-0d12-4020-b9b3-720b42810d5b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.4882524} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.360437,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9979f240-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"9979f240-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9979f240-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/signaling 200 37ms","method":"POST","requestID":"9979f240-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI","level":"info","message":"auth send jwt","requestID":"e81b010fa25ed7011405cfbb79a06602"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e81b010fa25ed7011405cfbb79a06602","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","requestID":"e81b010fa25ed7011405cfbb79a06602"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.63819,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e81b010fa25ed7011405cfbb79a06602","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832240,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e81b010fa25ed7011405cfbb79a06602","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","requestID":"e81b010fa25ed7011405cfbb79a06602"} experiment-1 | {"level":"info","message":"GET /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d 200 8ms","method":"GET","requestID":"e81b010fa25ed7011405cfbb79a06602","responseTime":8,"status":200,"url":"/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e81b010fa25ed7011405cfbb79a06602"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI","level":"info","message":"auth send jwt","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.714618,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f5b0bc29dca292b919b9bd0d613ca4e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832240,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Attempting to finish experiment","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"998def70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.744211,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"998def70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832240,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"998def70-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"99e952f6-f8f6-402d-9a77-c32974a3f901","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"22b446d4-da99-4135-964e-787fdca0c083","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03cd3f3358bb6d5d932320449b9135ad","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 25ms","method":"GET","requestID":"03cd3f3358bb6d5d932320449b9135ad","responseTime":25,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac9afd1-0fe6-4bc1-a410-c7a4001aed62': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"1fcc60e4-723c-4a26-bca8-43eb2c64b535","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.6580155} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53872dd5183470d08157c038a7b99e73","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a81a6c7-2dde-40ca-98bf-88cb2c4891bd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.658255} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"53872dd5183470d08157c038a7b99e73","responseTime":0,"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":"closed","url":"http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901"},{"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/22b446d4-da99-4135-964e-787fdca0c083"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"}}},"level":"info","message":"received a callback","requestID":"03cd3f3358bb6d5d932320449b9135ad"} 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/99e952f6-f8f6-402d-9a77-c32974a3f901"},{"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/22b446d4-da99-4135-964e-787fdca0c083"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"}}},"level":"info","message":"received a callback","requestID":"53872dd5183470d08157c038a7b99e73"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"998def70-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"9ac9afd1-0fe6-4bc1-a410-c7a4001aed62","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"998def70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62 204 63ms","method":"DELETE","requestID":"998def70-08c9-11f0-a656-5b8621d22e82","responseTime":63,"status":204,"url":"/peerconnections/9ac9afd1-0fe6-4bc1-a410-c7a4001aed62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"},"level":"info","message":"Successfully finished experiment","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"999d7fd0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F99e952f6-f8f6-402d-9a77-c32974a3f901","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abe2696e-106c-4b0d-b22d-6f4ca12cd639","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.7210708} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.42547,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"999d7fd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901","object_type":"device","rebac_allow":false,"scope_allow":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":"999d7fd0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"999d7fd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling 200 8ms","method":"POST","requestID":"999d7fd0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/99e952f6-f8f6-402d-9a77-c32974a3f901/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"999edf60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cbef0eb-5187-4499-98fd-1e0b152a843d': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cbef0eb-5187-4499-98fd-1e0b152a843d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"ef663d27-cece-4b69-b85c-6bd5be857cfd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.7544687} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F22b446d4-da99-4135-964e-787fdca0c083","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e77afd7-c177-4ccb-bb3d-43f3de9ada46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.7546048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa3f72a6-5242-4a6d-bd4b-568d98b6549a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.7547565} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327916,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"999edf60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"999edf60-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"999edf60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/22b446d4-da99-4135-964e-787fdca0c083/signaling 200 33ms","method":"POST","requestID":"999edf60-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/22b446d4-da99-4135-964e-787fdca0c083/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.282","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6"} experiment-1 | {"level":"info","message":"DELETE /experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d 204 277ms","method":"DELETE","requestID":"f5b0bc29dca292b919b9bd0d613ca4e6","responseTime":277,"status":204,"url":"/experiments/7cbef0eb-5187-4499-98fd-1e0b152a843d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2403","request_time":"2.921","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"44b228b6306b7d1619264c145075c2de"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2401","request_time":"2.932","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"8099309d20c7e4601dfb1e46fc144cad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 200ms","method":"POST","requestID":"03cd3f3358bb6d5d932320449b9135ad","responseTime":200,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +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.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"03cd3f3358bb6d5d932320449b9135ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 200ms","method":"POST","requestID":"53872dd5183470d08157c038a7b99e73","responseTime":200,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +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.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"53872dd5183470d08157c038a7b99e73"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI","level":"info","message":"auth send jwt","requestID":"feefb9c7045662f7f236416516325da4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"feefb9c7045662f7f236416516325da4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/22b446d4-da99-4135-964e-787fdca0c083' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"feefb9c7045662f7f236416516325da4"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.908716,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"feefb9c7045662f7f236416516325da4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832240,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/99e952f6-f8f6-402d-9a77-c32974a3f901' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3ba8407b-89b9-4e4e-9673-532a01f8e353","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.8820057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c66db7eb-e3d2-4d2c-9320-5ef5839a9e33","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.886861} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ae73a2e7-f5ef-4701-bbe2-d7f9834db240","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.8974836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00a255cf-f62d-48b7-9c1e-800b41d9c648","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.8976648} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.897452957Z"}]},"request_id":"a0d11718-eed9-4acd-844d-66404a92d38d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.9024067} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"feefb9c7045662f7f236416516325da4"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +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":"feefb9c7045662f7f236416516325da4"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"feefb9c7045662f7f236416516325da4","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI","level":"info","message":"auth send jwt","requestID":"80b7b279bbb5ea712ba27f4114d27f75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80b7b279bbb5ea712ba27f4114d27f75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"80b7b279bbb5ea712ba27f4114d27f75"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.767925,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"80b7b279bbb5ea712ba27f4114d27f75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832240,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0MH0.t_M1fE0tni72sWe67pP5lR2EZYS99Pe-32jk7zMATaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abb0c249-8937-41b1-875a-c7fa41cc3b89","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.9352849} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"723c05e9-fc5b-4412-8d4b-e2d72d000096","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.940218} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"8ca51332-ea0c-4162-aa88-2f89767d3ce2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.9566207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92d667f1-7967-4a64-a3b3-4268d5b95014","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.9568875} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.956583243Z"}]},"request_id":"acb2e68e-8b9f-40a2-ae6c-900577192579","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832240.9604983} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"80b7b279bbb5ea712ba27f4114d27f75"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"80b7b279bbb5ea712ba27f4114d27f75","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80b7b279bbb5ea712ba27f4114d27f75"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49e78fd032bcb8234fa527623b3916d7","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":"49e78fd032bcb8234fa527623b3916d7","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/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":"49e78fd032bcb8234fa527623b3916d7"} device-1 | {"level":"info","message":"OPTIONS /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/websocket 200 1ms","method":"OPTIONS","requestID":"49e78fd032bcb8234fa527623b3916d7","responseTime":1,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc7856150eb9dde3747745174015104c","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":"cc7856150eb9dde3747745174015104c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.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":"cc7856150eb9dde3747745174015104c"} device-1 | {"level":"info","message":"OPTIONS /devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket 200 1ms","method":"OPTIONS","requestID":"cc7856150eb9dde3747745174015104c","responseTime":1,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"12192b18ddde05fee0a3bba95412e096"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"12192b18ddde05fee0a3bba95412e096","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"12192b18ddde05fee0a3bba95412e096"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"6d8dba681f984443746d27473d221e6e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d8dba681f984443746d27473d221e6e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6d8dba681f984443746d27473d221e6e"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.510398,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"12192b18ddde05fee0a3bba95412e096","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"12192b18ddde05fee0a3bba95412e096","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.147536,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6d8dba681f984443746d27473d221e6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6d8dba681f984443746d27473d221e6e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6d8dba681f984443746d27473d221e6e"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","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":"6d8dba681f984443746d27473d221e6e"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket 200 16ms","method":"POST","requestID":"6d8dba681f984443746d27473d221e6e","responseTime":16,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"12192b18ddde05fee0a3bba95412e096"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/websocket 200 43ms","method":"POST","requestID":"12192b18ddde05fee0a3bba95412e096","responseTime":43,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/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":"12192b18ddde05fee0a3bba95412e096"} device-1 | {"level":"info","message":"device 'http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"d74c2996695dc8d0ce6b8ebb2be28570"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d74c2996695dc8d0ce6b8ebb2be28570","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d74c2996695dc8d0ce6b8ebb2be28570"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68841,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d74c2996695dc8d0ce6b8ebb2be28570","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d74c2996695dc8d0ce6b8ebb2be28570","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.897452957Z"}]},"request_id":"83f88f86-956e-404f-8eaa-417a1e386207","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.2248878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d74c2996695dc8d0ce6b8ebb2be28570","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d74c2996695dc8d0ce6b8ebb2be28570"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d74c2996695dc8d0ce6b8ebb2be28570"} device-1 | {"level":"info","message":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? 200 9ms","method":"GET","requestID":"d74c2996695dc8d0ce6b8ebb2be28570","responseTime":9,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"eb5a2ecc5ef51815e4ad4822209ba380"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb5a2ecc5ef51815e4ad4822209ba380","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb5a2ecc5ef51815e4ad4822209ba380"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606743,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eb5a2ecc5ef51815e4ad4822209ba380","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb5a2ecc5ef51815e4ad4822209ba380","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.956583243Z"}]},"request_id":"83de77a2-22ef-45ba-a0dc-f3e6187f66dc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.2387402} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb5a2ecc5ef51815e4ad4822209ba380","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb5a2ecc5ef51815e4ad4822209ba380"} device-1 | {"level":"info","message":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? 200 9ms","method":"GET","requestID":"eb5a2ecc5ef51815e4ad4822209ba380","responseTime":9,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? 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":"eb5a2ecc5ef51815e4ad4822209ba380"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"58ea0b7383d6d3eded463509c707c82c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58ea0b7383d6d3eded463509c707c82c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"58ea0b7383d6d3eded463509c707c82c"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.602859,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"58ea0b7383d6d3eded463509c707c82c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58ea0b7383d6d3eded463509c707c82c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to run experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to book experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully booked experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179243,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707038,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.897452957Z"}]},"request_id":"b68229cb-bb62-423c-b816-9bc7644b6e46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.302889} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.956583243Z"}]},"request_id":"19d677de-e379-4ce2-8a30-c951f5a53d4c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.304128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? 200 33ms","method":"GET","requestID":"9b23d1b0-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? 200 32ms","method":"GET","requestID":"9b23f8c0-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Setting up experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully set up experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b320280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b35fa20-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully running experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76031,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615314,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b320280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9b320280-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04: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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.897452957Z"}]},"request_id":"ea1ecb61-9b54-467d-9df9-7e822dfe5440","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4013758} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.956583243Z"}]},"request_id":"35fd6e22-827d-4617-8bb2-70e198cae21c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4022648} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb0e0a72-0ba9-4211-84a3-9f0f106e8dd6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4028802} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9b320280-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.701406,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b35fa20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","rebac_allow":false,"scope_allow":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":"9b35fa20-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? 200 40ms","method":"GET","requestID":"9b31db70-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b320280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? 200 39ms","method":"GET","requestID":"9b320280-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b35fa20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling 200 15ms","method":"POST","requestID":"9b35fa20-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a7d6e07b-aa8a-4d10-b16b-50c5a2f1a693","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.409367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dee8683-58b6-4b77-a027-2c1e4641d08d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4095645} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b386b20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b389230-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"58ea0b7383d6d3eded463509c707c82c","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5510a2fe-742c-43c3-b907-1fbe04ab017d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4146135} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.690493,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b386b20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","rebac_allow":false,"scope_allow":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":"9b386b20-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"844a8a18-3a6a-4e6e-a554-43519a49915e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4417088} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.775291,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"58ea0b7383d6d3eded463509c707c82c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b389230-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"9b389230-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 198ms","method":"POST","requestID":"58ea0b7383d6d3eded463509c707c82c","responseTime":198,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"42a677fab44e1c3c2a91da841760915a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b386b20-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42a677fab44e1c3c2a91da841760915a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling 200 37ms","method":"POST","requestID":"9b386b20-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b389230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling 200 36ms","method":"POST","requestID":"9b389230-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42a677fab44e1c3c2a91da841760915a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b3e85a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982235,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"42a677fab44e1c3c2a91da841760915a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42a677fab44e1c3c2a91da841760915a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f0d133e-f138-46e8-8431-c34f48fc18a5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4542518} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.401174,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b3e85a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","rebac_allow":false,"scope_allow":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":"9b3e85a0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.897452957Z"}]},"request_id":"0beb386e-7ac9-4a81-95f4-577c5e9a30c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.456181} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42a677fab44e1c3c2a91da841760915a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b3e85a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling 200 9ms","method":"POST","requestID":"9b3e85a0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42a677fab44e1c3c2a91da841760915a"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? 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":"42a677fab44e1c3c2a91da841760915a"} device-1 | {"level":"info","message":"GET /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899? 200 12ms","method":"GET","requestID":"42a677fab44e1c3c2a91da841760915a","responseTime":12,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Building connection plan","requestID":"58ea0b7383d6d3eded463509c707c82c"} 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":"191c9261-5bf2-4516-a86e-0969af3673be"},{"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":"46315f4f-d2a3-42f1-b095-353879036b94"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f082413c-3340-450a-a9e5-6f83ddd111ff"}]},"level":"info","message":"Built pairwise service configurations","requestID":"58ea0b7383d6d3eded463509c707c82c"} 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/939d2251-4ffa-4706-9409-ecf703dc773c"},{"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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"58ea0b7383d6d3eded463509c707c82c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"f3e43f392b7d61807a6870f16f4da819"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f3e43f392b7d61807a6870f16f4da819","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3e43f392b7d61807a6870f16f4da819"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":24.906521,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651776,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f3e43f392b7d61807a6870f16f4da819","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f3e43f392b7d61807a6870f16f4da819","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:00.956583243Z"}]},"request_id":"483802f2-2796-4bc1-803e-18482fd05388","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.495413} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f3e43f392b7d61807a6870f16f4da819","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"59a517a2-1128-4a90-aff5-0170a0de9790","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4961867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5e47822-9ece-45e7-9ae9-234a8fcf2156","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.4964576} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3e43f392b7d61807a6870f16f4da819"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3e43f392b7d61807a6870f16f4da819"} device-1 | {"level":"info","message":"GET /devices/939d2251-4ffa-4706-9409-ecf703dc773c? 200 10ms","method":"GET","requestID":"f3e43f392b7d61807a6870f16f4da819","responseTime":10,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942'","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942'","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"9b405a60-08c9-11f0-a656-5b8621d22e82","responseTime":87,"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":"9b405a60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","device":"939d2251-4ffa-4706-9409-ecf703dc773c","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","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/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"58ea0b7383d6d3eded463509c707c82c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b54f3d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39ba7a94-37ba-4a9a-8bc5-5366cd0bb917","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.6016877} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.274341,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b54f3d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","rebac_allow":false,"scope_allow":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":"9b54f3d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b54f3d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling 200 8ms","method":"POST","requestID":"9b54f3d0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b565360-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dd7fc56-faac-483e-8050-97b424b9bc06","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.614828} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.798432,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b565360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","rebac_allow":false,"scope_allow":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":"9b565360-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b565360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling 200 25ms","method":"POST","requestID":"9b565360-08c9-11f0-a656-5b8621d22e82","responseTime":25,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling"} device-1 | {"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 131689455750797858 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:JFHz\r\na=ice-pwd:0tB5+B55XHNZr4wR06n5Ga/f\r\na=ice-options:trickle\r\na=fingerprint:sha-256 48:94:C9:F4:67:A3:6D:47:EC:09:27:A3:34:2E:42:95:58:7A:F3:F9:C4:3F:9B:0C:45:03:60:27:11:AD:F2:F9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899'"} device-1 | {"content":{"sdp":"v=0\r\no=- 5033684054212151625 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:+xMH\r\na=ice-pwd:U/FN+ncx9lJNhW72EEQZw8cB\r\na=ice-options:trickle\r\na=fingerprint:sha-256 00:97:4C:9C:7F:B3:A2:F5:12:76:3E:B6:D7:0B:17:E2:77:A2:6B:4A:D5:2C:E2:7D:75:DA:87:F8:5A:42:98:75\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:192715621 1 udp 2113937151 5d3c9505-9435-48be-b1ba-26d377b4f55a.local 48192 typ host generation 0 ufrag +xMH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"939d2251-4ffa-4706-9409-ecf703dc773c","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/939d2251-4ffa-4706-9409-ecf703dc773c'"} device-1 | {"content":{"candidate":"candidate:174647437 1 udp 2113937151 e46e3528-01bc-4f9b-9148-77ec5950ab8a.local 55858 typ host generation 0 ufrag JFHz network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","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/e97dd4f9-d706-4069-a4ca-512901d42942' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2696bf7a9c7b379133d95f34c66cab8a","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":"2696bf7a9c7b379133d95f34c66cab8a","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"939d2251-4ffa-4706-9409-ecf703dc773c","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":[{"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/939d2251-4ffa-4706-9409-ecf703dc773c"},{"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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"}}},"level":"info","message":"received a callback","requestID":"2696bf7a9c7b379133d95f34c66cab8a"} device-1 | {"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","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":"2696bf7a9c7b379133d95f34c66cab8a","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +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":"2696bf7a9c7b379133d95f34c66cab8a"} device-1 | {"device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","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/e97dd4f9-d706-4069-a4ca-512901d42942' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0adf12cf9555923eace30b5f1ffe4b99","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":"0adf12cf9555923eace30b5f1ffe4b99","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/939d2251-4ffa-4706-9409-ecf703dc773c"},{"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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"}}},"level":"info","message":"received a callback","requestID":"0adf12cf9555923eace30b5f1ffe4b99"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9b648430-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe97dd4f9-d706-4069-a4ca-512901d42942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94af5b61-1c69-4292-8dcd-d4348d16a67f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.7031538} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.110147,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b648430-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","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":"9b648430-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9b648430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942 200 7ms","method":"GET","requestID":"9b648430-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"0adf12cf9555923eace30b5f1ffe4b99","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +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":"0adf12cf9555923eace30b5f1ffe4b99"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b679170-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59a8d67a-2e12-4111-b7cb-53cd62181ddb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.7238162} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.41388,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b679170-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","rebac_allow":false,"scope_allow":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":"9b679170-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b679170-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling 200 8ms","method":"POST","requestID":"9b679170-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b691810-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4666fd84-8337-45cd-bc20-ee8a59bbf0a2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.7330077} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.248829,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b691810-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","rebac_allow":false,"scope_allow":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":"9b691810-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b691810-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling 200 7ms","method":"POST","requestID":"9b691810-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"0604b52c507f31c49701869011030c90"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0604b52c507f31c49701869011030c90","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","requestID":"0604b52c507f31c49701869011030c90"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.638946,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0604b52c507f31c49701869011030c90","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0604b52c507f31c49701869011030c90","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","requestID":"0604b52c507f31c49701869011030c90"} gateway-1 | {"time_local":"24/Mar/2025:16:04:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0604b52c507f31c49701869011030c90"} experiment-1 | {"level":"info","message":"GET /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4 200 9ms","method":"GET","requestID":"0604b52c507f31c49701869011030c90","responseTime":9,"status":200,"url":"/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ","level":"info","message":"auth send jwt","requestID":"3164abf9995155d91e87e5a6545b043a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3164abf9995155d91e87e5a6545b043a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","requestID":"3164abf9995155d91e87e5a6545b043a"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.772327,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3164abf9995155d91e87e5a6545b043a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3164abf9995155d91e87e5a6545b043a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Attempting to finish experiment","requestID":"3164abf9995155d91e87e5a6545b043a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":21.193224,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832243,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0M30.x74vVIX1Y7OioW8fsqIzULnUV22cu2M92Ptxi6aLjDQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","device":"939d2251-4ffa-4706-9409-ecf703dc773c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942","device":"1d3e70f5-248b-45f9-8a59-aaefe0f2d899","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/e97dd4f9-d706-4069-a4ca-512901d42942' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe97dd4f9-d706-4069-a4ca-512901d42942': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe97dd4f9-d706-4069-a4ca-512901d42942","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"819eceee-e775-43a6-85e5-60ed8c0317e1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.835304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a886ff0-7ac7-4a44-9d6c-1e752aefb153","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.835508} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8abf2794cc39f494c89674dafeefa490","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":"8abf2794cc39f494c89674dafeefa490","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e2640a9aa8df64535f545b39b1c3ffd1","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 6ms","method":"POST","requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/relations/update"} 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/939d2251-4ffa-4706-9409-ecf703dc773c"},{"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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"}}},"level":"info","message":"received a callback","requestID":"8abf2794cc39f494c89674dafeefa490"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2640a9aa8df64535f545b39b1c3ffd1","responseTime":1,"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":"closed","url":"http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c"},{"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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"}}},"level":"info","message":"received a callback","requestID":"e2640a9aa8df64535f545b39b1c3ffd1"} device-1 | {"data":{"peerconnection":"e97dd4f9-d706-4069-a4ca-512901d42942","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942 204 83ms","method":"DELETE","requestID":"9b743ba0-08c9-11f0-a656-5b8621d22e82","responseTime":83,"status":204,"url":"/peerconnections/e97dd4f9-d706-4069-a4ca-512901d42942"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"},"level":"info","message":"Successfully finished experiment","requestID":"3164abf9995155d91e87e5a6545b043a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b86d940-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F939d2251-4ffa-4706-9409-ecf703dc773c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9bf789e-9a22-423d-8dba-0e6c6df7a11a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.928503} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368295,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b86d940-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c","object_type":"device","rebac_allow":false,"scope_allow":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":"9b86d940-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b86d940-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling 200 8ms","method":"POST","requestID":"9b86d940-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/939d2251-4ffa-4706-9409-ecf703dc773c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b885fe0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"76d012aa-72ff-4298-b24f-206be4f7eed2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.935263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4c10fa6-fff9-4e4c-9a02-48635c67964d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.9356084} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"3164abf9995155d91e87e5a6545b043a","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d3e70f5-248b-45f9-8a59-aaefe0f2d899","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc8bde11-b7a7-4420-9de0-6b01bf62b114","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832243.9391196} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.142199,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9b885fe0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899","object_type":"device","rebac_allow":false,"scope_allow":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":"9b885fe0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b885fe0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling 200 9ms","method":"POST","requestID":"9b885fe0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/1d3e70f5-248b-45f9-8a59-aaefe0f2d899/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4","requestID":"3164abf9995155d91e87e5a6545b043a"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3164abf9995155d91e87e5a6545b043a"} experiment-1 | {"level":"info","message":"DELETE /experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4 204 241ms","method":"DELETE","requestID":"3164abf9995155d91e87e5a6545b043a","responseTime":241,"status":204,"url":"/experiments/1d7bc69d-e3a0-478b-bfc2-33fc78ef41a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"8abf2794cc39f494c89674dafeefa490","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +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.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"8abf2794cc39f494c89674dafeefa490"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"e2640a9aa8df64535f545b39b1c3ffd1","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +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.203","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2640a9aa8df64535f545b39b1c3ffd1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0NH0.mrhh6cLQTV6ndIx7Dm-lcbyJDOOMc2uMk4orfNhgt3I","level":"info","message":"auth send jwt","requestID":"35a26a138e2ee8322d21b408e8e5c99e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35a26a138e2ee8322d21b408e8e5c99e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"35a26a138e2ee8322d21b408e8e5c99e"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:04Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.027128,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"35a26a138e2ee8322d21b408e8e5c99e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832244,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0NH0.mrhh6cLQTV6ndIx7Dm-lcbyJDOOMc2uMk4orfNhgt3I"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","responseTime":29,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"0.874","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":"c81ea32e8c1b20ed6570859f7ecdf6ee"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2538","request_time":"0.896","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":"ca1f96948ce99df6dfa8af31c7bd6e1b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/939d2251-4ffa-4706-9409-ecf703dc773c' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cd3a2e08-20d2-42d9-b876-d4d9505b0cb3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.0821378} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94f2e310-2dbf-43d8-9c84-42e62d604a5a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.08634} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","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/1d3e70f5-248b-45f9-8a59-aaefe0f2d899' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"163ba134-a705-488b-b236-5fa0a4fd8676","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.1237226} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3011ffd-2e5f-4b95-a921-130a99351689","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.1238449} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","responseTime":40,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.123699916Z"}]},"request_id":"df043c25-a093-47c2-be8a-db619ac0b115","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.1271234} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"35a26a138e2ee8322d21b408e8e5c99e"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"35a26a138e2ee8322d21b408e8e5c99e","responseTime":89,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35a26a138e2ee8322d21b408e8e5c99e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0NH0.mrhh6cLQTV6ndIx7Dm-lcbyJDOOMc2uMk4orfNhgt3I","level":"info","message":"auth send jwt","requestID":"7b2c41b008b98cdaf897280236085369"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b2c41b008b98cdaf897280236085369","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7b2c41b008b98cdaf897280236085369"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:04Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.70699,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7b2c41b008b98cdaf897280236085369","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832244,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0NH0.mrhh6cLQTV6ndIx7Dm-lcbyJDOOMc2uMk4orfNhgt3I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1a41534e-8a7e-4c31-b2dd-5074bcbb0d43","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.171189} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d12fc8be-a319-4092-8222-2c832b65a685","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.17461} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7db28ad5-3120-448f-8765-3abc8988e3da","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.1835494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64a0e3ac-aba0-4fb3-9433-a655b65c7cfb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.1838021} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","responseTime":34,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.183514231Z"}]},"request_id":"64f9508a-ea48-428e-8d16-c0d70334bb0a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832244.2109954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7b2c41b008b98cdaf897280236085369"} gateway-1 | {"time_local":"24/Mar/2025:16:04:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b2c41b008b98cdaf897280236085369"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"7b2c41b008b98cdaf897280236085369","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1960ec3fd0670704bc08bb32bd39e644","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":"1960ec3fd0670704bc08bb32bd39e644","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/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":"1960ec3fd0670704bc08bb32bd39e644"} device-1 | {"level":"info","message":"OPTIONS /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/websocket 200 0ms","method":"OPTIONS","requestID":"1960ec3fd0670704bc08bb32bd39e644","responseTime":0,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"79f9e318bc0f52dcf657cdf188c0644e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79f9e318bc0f52dcf657cdf188c0644e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"79f9e318bc0f52dcf657cdf188c0644e"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868853,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"79f9e318bc0f52dcf657cdf188c0644e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"79f9e318bc0f52dcf657cdf188c0644e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"afa28cf64b38ebcfb072f05fce8330e8","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":"afa28cf64b38ebcfb072f05fce8330e8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/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":"afa28cf64b38ebcfb072f05fce8330e8"} device-1 | {"level":"info","message":"OPTIONS /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/websocket 200 1ms","method":"OPTIONS","requestID":"afa28cf64b38ebcfb072f05fce8330e8","responseTime":1,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"79f9e318bc0f52dcf657cdf188c0644e"} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/websocket 200 21ms","method":"POST","requestID":"79f9e318bc0f52dcf657cdf188c0644e","responseTime":21,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/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":"79f9e318bc0f52dcf657cdf188c0644e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"1099a61127fb3d83377e8bf33ddc2e0b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1099a61127fb3d83377e8bf33ddc2e0b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1099a61127fb3d83377e8bf33ddc2e0b"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777822,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1099a61127fb3d83377e8bf33ddc2e0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1099a61127fb3d83377e8bf33ddc2e0b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1099a61127fb3d83377e8bf33ddc2e0b"} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/websocket 200 8ms","method":"POST","requestID":"1099a61127fb3d83377e8bf33ddc2e0b","responseTime":8,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.011","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":"1099a61127fb3d83377e8bf33ddc2e0b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"0d26ea675a4802b227c8371c151cf6fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d26ea675a4802b227c8371c151cf6fe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d26ea675a4802b227c8371c151cf6fe"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743192,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0d26ea675a4802b227c8371c151cf6fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d26ea675a4802b227c8371c151cf6fe","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.123699916Z"}]},"request_id":"c432dc78-07f1-45a3-853f-58dd5d1b0e7f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.4878807} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0d26ea675a4802b227c8371c151cf6fe","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d26ea675a4802b227c8371c151cf6fe"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? 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":"0d26ea675a4802b227c8371c151cf6fe"} device-1 | {"level":"info","message":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? 200 12ms","method":"GET","requestID":"0d26ea675a4802b227c8371c151cf6fe","responseTime":12,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"e4fd9f2f22b51b110f47a4322ad7513e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e4fd9f2f22b51b110f47a4322ad7513e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4fd9f2f22b51b110f47a4322ad7513e"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709366,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e4fd9f2f22b51b110f47a4322ad7513e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e4fd9f2f22b51b110f47a4322ad7513e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.183514231Z"}]},"request_id":"36ceb6e9-ca5d-4dc2-b66f-15d35cdc2e8a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.501716} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4fd9f2f22b51b110f47a4322ad7513e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4fd9f2f22b51b110f47a4322ad7513e"} device-1 | {"level":"info","message":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? 200 9ms","method":"GET","requestID":"e4fd9f2f22b51b110f47a4322ad7513e","responseTime":9,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4fd9f2f22b51b110f47a4322ad7513e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b1d41668cc5ffab1365854aa816dfa8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.745774,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1b1d41668cc5ffab1365854aa816dfa8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1b1d41668cc5ffab1365854aa816dfa8","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to run experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to book experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully booked experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d193910-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682514,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.383872,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d193910-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d193910-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.123699916Z"}]},"request_id":"3a8d660e-f6da-421e-848d-2edc084dcd50","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.5675955} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.183514231Z"}]},"request_id":"bf753ec8-c1d3-48c1-8c10-fe5c026ee806","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.5722418} device-1 | {"level":"info","message":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? 200 34ms","method":"GET","requestID":"9d15ddb0-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d193910-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d193910-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? 200 14ms","method":"GET","requestID":"9d193910-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Setting up experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully set up experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d285440-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d28a260-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745443,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully running experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d285440-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d285440-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895957,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109805,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"933fcf1c-5130-4b86-8d05-e342a3942ab1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.6668959} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d28a260-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"9d28a260-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d28a260-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.183514231Z"}]},"request_id":"f423a802-d70c-4534-af16-343786f99bdb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.6723337} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling 200 11ms","method":"POST","requestID":"9d28a260-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.123699916Z"}]},"request_id":"e178c88e-0216-4d4f-a77f-1ea9506e852d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.6734934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d285440-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d2ac540-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd05ac4ce-84f3-4e96-af6c-aa8ca17f3fab#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"26840db0-a65b-4e37-bcd4-22432d46589d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.6775842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f48e454e-a14f-4984-bc01-19bd3ff22d8b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.6777453} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? 200 19ms","method":"GET","requestID":"9d287b50-08c9-11f0-a656-5b8621d22e82","responseTime":19,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d285440-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? 200 45ms","method":"GET","requestID":"9d285440-08c9-11f0-a656-5b8621d22e82","responseTime":45,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"1b1d41668cc5ffab1365854aa816dfa8","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d2f8030-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5863689e-86b2-4f1a-90cb-7e90cf0b50f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.709868} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.10826,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d2ac540-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"9d2ac540-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bff556c-7d95-491f-bf45-da4b279740ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7113538} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.430556,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d2f8030-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"9d2f8030-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 204ms","method":"POST","requestID":"1b1d41668cc5ffab1365854aa816dfa8","responseTime":204,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d2ac540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling 200 40ms","method":"POST","requestID":"9d2ac540-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d2f8030-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling 200 9ms","method":"POST","requestID":"9d2f8030-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"a40768c04a0e34d74d9af2817aa31278"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a40768c04a0e34d74d9af2817aa31278","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a40768c04a0e34d74d9af2817aa31278"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d3154f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746057,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a40768c04a0e34d74d9af2817aa31278","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a40768c04a0e34d74d9af2817aa31278","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cee20b1e-c7f3-4f6a-92df-92af9fa91288","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7235184} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.683739,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d3154f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","rebac_allow":false,"scope_allow":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":"9d3154f0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d3154f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.123699916Z"}]},"request_id":"d457e8a2-a1b0-49d6-8877-5bd49434d887","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7284012} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling 200 34ms","method":"POST","requestID":"9d3154f0-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a40768c04a0e34d74d9af2817aa31278","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a40768c04a0e34d74d9af2817aa31278"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a40768c04a0e34d74d9af2817aa31278"} device-1 | {"level":"info","message":"GET /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1? 200 38ms","method":"GET","requestID":"a40768c04a0e34d74d9af2817aa31278","responseTime":38,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Building connection plan","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} 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":"edb01609-4870-499e-bb04-9361aa444069"},{"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":"00c4fb09-ad03-4af0-973d-39d3b45cbc9c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0e39e2fa-7c3d-4490-82eb-9fe24011e55c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} 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/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1"},{"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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg","level":"info","message":"auth send jwt","requestID":"875ce5722391df71edaf6b5f8a408725"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"875ce5722391df71edaf6b5f8a408725","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"875ce5722391df71edaf6b5f8a408725"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.656871,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.525046,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"875ce5722391df71edaf6b5f8a408725","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832246,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0Nn0.YDJnMNYA6i7X07DWT63_I3DrMtW4J7H6OirsTo2Ghvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"875ce5722391df71edaf6b5f8a408725","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:04.183514231Z"}]},"request_id":"36a5fcf5-7564-4281-8a98-0238b3713916","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7678666} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"875ce5722391df71edaf6b5f8a408725","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"2f246da8-c17c-4f29-8f8a-9f809b6fe773","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7719457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a58a3b8-a4fa-457d-9f85-41aa99875cb7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.7721481} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"875ce5722391df71edaf6b5f8a408725"} device-1 | {"level":"info","message":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? 200 14ms","method":"GET","requestID":"875ce5722391df71edaf6b5f8a408725","responseTime":14,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa? 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":"875ce5722391df71edaf6b5f8a408725"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63'","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63'","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 58ms","method":"POST","requestID":"9d376f70-08c9-11f0-a656-5b8621d22e82","responseTime":58,"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":"9d376f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","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","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","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/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1b1d41668cc5ffab1365854aa816dfa8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d47c320-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7c60791-e96d-4e7c-af02-9be92af32dcd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.870875} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267683,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d47c320-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"9d47c320-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d47c320-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling 200 33ms","method":"POST","requestID":"9d47c320-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d4cf340-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:06Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c919bd5-6292-4690-83ee-5d06b9b37ef4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832246.9055295} device-1 | {"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.092931,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:06Z"} device-1 | {"content":{"canTrickle":true},"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d4cf340-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","rebac_allow":false,"scope_allow":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":"9d4cf340-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d4cf340-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling 200 12ms","method":"POST","requestID":"9d4cf340-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8568406760672408098 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:EqjM\r\na=ice-pwd:04uDbgDiZMxbuzftDoSBN9OH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:0C:D4:49:0A:3A:3F:90:C7:70:6A:8B:E4:65:66:99:B7:C3:07:22:30:3A:53:FF:55:DB:A0:3F:BA:8F:1C:60\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1274909011879304981 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:OKYp\r\na=ice-pwd:+e1Kak6XI+igMOb9VJcOgSSp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7E:8F:4D:E5:AE:64:69:70:1F:AF:6F:89:4A:05:1D:37:A5:96:27:15:BC:19:6F:28:45:87:69:52:80:44:AB:43\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:93733044 1 udp 2113937151 da6c967d-7726-4479-a635-71ff222fb005.local 39432 typ host generation 0 ufrag EqjM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2181618759 1 udp 2113937151 f71ef9b4-a353-4ed7-a747-81bbcfd01fe5.local 40152 typ host generation 0 ufrag OKYp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","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":"035491b895b741f583efbd2483944435","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":"035491b895b741f583efbd2483944435","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":"connecting","url":"http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1"},{"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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"}}},"level":"info","message":"received a callback","requestID":"035491b895b741f583efbd2483944435"} device-1 | {"device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"035491b895b741f583efbd2483944435","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"035491b895b741f583efbd2483944435"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","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/f36cc92b-116c-4b72-a0aa-666479c3fc63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c01d8d2476c7f638022c6d87d1045c3","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":"9c01d8d2476c7f638022c6d87d1045c3","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/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1"},{"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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"}}},"level":"info","message":"received a callback","requestID":"9c01d8d2476c7f638022c6d87d1045c3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9d644bd0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff36cc92b-116c-4b72-a0aa-666479c3fc63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d7e4e6f-71b9-4c2b-8035-1600ac18b307","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.058077} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.357149,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d644bd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","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":"9d644bd0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9d644bd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63 200 9ms","method":"GET","requestID":"9d644bd0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8","level":"info","message":"auth send jwt","requestID":"eb269684fec14a76fff3829f99d6069f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb269684fec14a76fff3829f99d6069f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","requestID":"eb269684fec14a76fff3829f99d6069f"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.821256,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eb269684fec14a76fff3829f99d6069f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832247,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb269684fec14a76fff3829f99d6069f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 61ms","method":"POST","requestID":"9c01d8d2476c7f638022c6d87d1045c3","responseTime":61,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +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.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c01d8d2476c7f638022c6d87d1045c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d6c8930-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc913a15-306a-4040-9ae5-04c3e6d17f70","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.110986} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325603,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","requestID":"eb269684fec14a76fff3829f99d6069f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d6c8930-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","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":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb269684fec14a76fff3829f99d6069f"} experiment-1 | {"level":"info","message":"GET /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab 200 36ms","method":"GET","requestID":"eb269684fec14a76fff3829f99d6069f","responseTime":36,"status":200,"url":"/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"9d6c8930-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d6c8930-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling 200 32ms","method":"POST","requestID":"9d6c8930-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8","level":"info","message":"auth send jwt","requestID":"a0e3890a889442b0ae64f4673e71186d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a0e3890a889442b0ae64f4673e71186d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d71b950-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","requestID":"a0e3890a889442b0ae64f4673e71186d"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.629362,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a0e3890a889442b0ae64f4673e71186d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832247,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0e3890a889442b0ae64f4673e71186d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bd37e6f-2e19-4b37-b358-d91ca823cc92","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.1453874} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.252859,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d71b950-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","rebac_allow":false,"scope_allow":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":"9d71b950-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d71b950-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling 200 8ms","method":"POST","requestID":"9d71b950-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Attempting to finish experiment","requestID":"a0e3890a889442b0ae64f4673e71186d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.699626,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832247,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","device":"f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63","device":"b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","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/f36cc92b-116c-4b72-a0aa-666479c3fc63' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ead48948368c707ef002bd7895885769","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":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff36cc92b-116c-4b72-a0aa-666479c3fc63': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff36cc92b-116c-4b72-a0aa-666479c3fc63","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"b631685d-20bc-4c2c-ab28-30c5ab813eb4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.18901} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ead48948368c707ef002bd7895885769","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ca80c652ab58a832ca6192e9ea03ad3","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08667733-6f14-4788-b8dc-b6d86a1b1572","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.1897461} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9ca80c652ab58a832ca6192e9ea03ad3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82","responseTime":31,"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/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1"},{"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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"}}},"level":"info","message":"received a callback","requestID":"ead48948368c707ef002bd7895885769"} 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/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1"},{"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/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"}}},"level":"info","message":"received a callback","requestID":"9ca80c652ab58a832ca6192e9ea03ad3"} device-1 | {"data":{"peerconnection":"f36cc92b-116c-4b72-a0aa-666479c3fc63","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63 204 91ms","method":"DELETE","requestID":"9d733ff0-08c9-11f0-a656-5b8621d22e82","responseTime":91,"status":204,"url":"/peerconnections/f36cc92b-116c-4b72-a0aa-666479c3fc63"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"},"level":"info","message":"Successfully finished experiment","requestID":"a0e3890a889442b0ae64f4673e71186d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d834580-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2a27a3f-17fa-4043-8fd7-a26f6f360dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40b085b7-4e04-4d02-a1e1-f6d31adedbe8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.2810616} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.792611,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d834580-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"9d834580-08c9-11f0-a656-5b8621d22e82","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d834580-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling 200 29ms","method":"POST","requestID":"9d834580-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d880070-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd05ac4ce-84f3-4e96-af6c-aa8ca17f3fab': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"acfeb9c4-02b3-4f94-859d-ad39b7fa8df3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.2898383} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1eadcda4-2f68-4ad7-aef7-f0fbe159d525","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.290203} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a0e3890a889442b0ae64f4673e71186d","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb28ec77f-dfc8-4240-96cc-6c2f9bae23aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0ea6535-4aa2-44dc-a1b4-4a4694565f85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.292292} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.367255,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d880070-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa","object_type":"device","rebac_allow":false,"scope_allow":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":"9d880070-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d880070-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling 200 9ms","method":"POST","requestID":"9d880070-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab","requestID":"a0e3890a889442b0ae64f4673e71186d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab 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":"a0e3890a889442b0ae64f4673e71186d"} experiment-1 | {"level":"info","message":"DELETE /experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab 204 204ms","method":"DELETE","requestID":"a0e3890a889442b0ae64f4673e71186d","responseTime":204,"status":204,"url":"/experiments/d05ac4ce-84f3-4e96-af6c-aa8ca17f3fab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"ead48948368c707ef002bd7895885769","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"ead48948368c707ef002bd7895885769"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"9ca80c652ab58a832ca6192e9ea03ad3","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ca80c652ab58a832ca6192e9ea03ad3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8","level":"info","message":"auth send jwt","requestID":"aa71beb29d77e026c0c8abdd61818f3c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"aa71beb29d77e026c0c8abdd61818f3c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"0.899","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":"b035200af3db056f67ba569b74a29033"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"0.912","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":"aed2b16f45eb1d24c05fc75378ab7933"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b28ec77f-dfc8-4240-96cc-6c2f9bae23aa' closed"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.821138,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aa71beb29d77e026c0c8abdd61818f3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832247,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f2a27a3f-17fa-4043-8fd7-a26f6f360dd1' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4833438-4b9a-4171-9766-8977a299a26c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.39433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f2ec345-e424-40a8-8f93-465bc5de9b67","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.3978653} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"17b9488c-9c6b-48fa-903f-495ccf631cc4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.43093} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29aa31f8-52b8-4d54-99cf-8a82042f2c3c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.4309993} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":35,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.430905886Z"}]},"request_id":"393a64ee-fda1-40cb-a11c-fe37ac7b769d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.435144} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"aa71beb29d77e026c0c8abdd61818f3c"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"aa71beb29d77e026c0c8abdd61818f3c","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa71beb29d77e026c0c8abdd61818f3c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8","level":"info","message":"auth send jwt","requestID":"c08453a55e409cc8678a8a207978e063"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c08453a55e409cc8678a8a207978e063","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c08453a55e409cc8678a8a207978e063"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72223,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c08453a55e409cc8678a8a207978e063","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832247,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0N30.YjZLIltjHnfXGa10QGknLkW01iMdgQzpRk0rZMB3iR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"472ec7b8-9428-45ea-bea6-aeb32dbe7709","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.4818525} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"982da513-4da3-43ce-930d-c0b16a74f72e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.4852395} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"70816929-a04d-4a3d-a851-4f5a26059fad","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.4959526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0bde205-fc1c-45c4-b940-2e1ce05948ad","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.496101} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","responseTime":37,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"54488bd7-8f30-43d5-8da5-75042633c7b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832247.5233393} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c08453a55e409cc8678a8a207978e063"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"c08453a55e409cc8678a8a207978e063","responseTime":84,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c08453a55e409cc8678a8a207978e063"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OH0.1OP8Tb7ZIFMKO1-PFBFip2tivKt_uP5KrqYPdGefsDE","level":"info","message":"auth send jwt","requestID":"dbe481e8d9c591e1c156b7c435c458f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dbe481e8d9c591e1c156b7c435c458f8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dbe481e8d9c591e1c156b7c435c458f8"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739086,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dbe481e8d9c591e1c156b7c435c458f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832248,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OH0.1OP8Tb7ZIFMKO1-PFBFip2tivKt_uP5KrqYPdGefsDE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dbe481e8d9c591e1c156b7c435c458f8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"12674b42-49a1-4bec-8ae3-4e6c5966e54b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832248.4358568} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dbe481e8d9c591e1c156b7c435c458f8","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f311b049-dcd8-48dd-b07b-b223a4617d84","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832248.440186} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dbe481e8d9c591e1c156b7c435c458f8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"8d8097f4-b96c-4301-a4f2-e84696b88b08","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832248.4812531} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"dbe481e8d9c591e1c156b7c435c458f8","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dbe481e8d9c591e1c156b7c435c458f8"} device-1 | {"level":"info","message":"PATCH /devices/584ff5ca-ef68-4673-bef9-0910e20559eb 200 80ms","method":"PATCH","requestID":"dbe481e8d9c591e1c156b7c435c458f8","responseTime":80,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb"} gateway-1 | {"time_local":"24/Mar/2025:16:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/584ff5ca-ef68-4673-bef9-0910e20559eb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"dbe481e8d9c591e1c156b7c435c458f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OH0.1OP8Tb7ZIFMKO1-PFBFip2tivKt_uP5KrqYPdGefsDE","level":"info","message":"auth send jwt","requestID":"1af7c91ac83084f25750297f8b87d952"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1af7c91ac83084f25750297f8b87d952","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1af7c91ac83084f25750297f8b87d952"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:08Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.388182,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1af7c91ac83084f25750297f8b87d952","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832248,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OH0.1OP8Tb7ZIFMKO1-PFBFip2tivKt_uP5KrqYPdGefsDE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1af7c91ac83084f25750297f8b87d952","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1af7c91ac83084f25750297f8b87d952"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/websocket 200 15ms","method":"POST","requestID":"1af7c91ac83084f25750297f8b87d952","responseTime":15,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/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.14","requestID":"1af7c91ac83084f25750297f8b87d952"} device-1 | {"level":"info","message":"device 'http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b8433bff9592057354a08b50827fa2f","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":"8b8433bff9592057354a08b50827fa2f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/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":"8b8433bff9592057354a08b50827fa2f"} device-1 | {"level":"info","message":"OPTIONS /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/websocket 200 1ms","method":"OPTIONS","requestID":"8b8433bff9592057354a08b50827fa2f","responseTime":1,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds","level":"info","message":"auth send jwt","requestID":"dc771c10034a2557134f0cb150f85f86"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc771c10034a2557134f0cb150f85f86","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dc771c10034a2557134f0cb150f85f86"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185366,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"dc771c10034a2557134f0cb150f85f86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc771c10034a2557134f0cb150f85f86","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dc771c10034a2557134f0cb150f85f86"} gateway-1 | {"time_local":"24/Mar/2025:16:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/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":"dc771c10034a2557134f0cb150f85f86"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/websocket 200 25ms","method":"POST","requestID":"dc771c10034a2557134f0cb150f85f86","responseTime":25,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds","level":"info","message":"auth send jwt","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076444,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f67a7a8834ba9bbed665c09fb2eb7a71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.430905886Z"}]},"request_id":"3efcb130-188f-454e-b877-9ffb30b79f91","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832249.8968513} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71"} gateway-1 | {"time_local":"24/Mar/2025:16:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? 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":"f67a7a8834ba9bbed665c09fb2eb7a71"} device-1 | {"level":"info","message":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? 200 11ms","method":"GET","requestID":"f67a7a8834ba9bbed665c09fb2eb7a71","responseTime":11,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds","level":"info","message":"auth send jwt","requestID":"a67ffeef1504285337100d7e0ebb0eaf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a67ffeef1504285337100d7e0ebb0eaf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a67ffeef1504285337100d7e0ebb0eaf"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006139,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a67ffeef1504285337100d7e0ebb0eaf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a67ffeef1504285337100d7e0ebb0eaf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"14218059-73ba-48cb-945b-b581cf51cbb0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832249.912136} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a67ffeef1504285337100d7e0ebb0eaf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a67ffeef1504285337100d7e0ebb0eaf"} gateway-1 | {"time_local":"24/Mar/2025:16:04:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? 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":"a67ffeef1504285337100d7e0ebb0eaf"} device-1 | {"level":"info","message":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? 200 12ms","method":"GET","requestID":"a67ffeef1504285337100d7e0ebb0eaf","responseTime":12,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds","level":"info","message":"auth send jwt","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce657dc4975c6b79a32ccea9711ed9e8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.205391,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ce657dc4975c6b79a32ccea9711ed9e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce657dc4975c6b79a32ccea9711ed9e8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to run experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to book experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully booked experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f216520-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.168234,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f216520-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f216520-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.619279,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.430905886Z"}]},"request_id":"23423f8a-80a0-490d-bead-45f5e27fd47d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832249.9779496} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f216520-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"605fa81a-d779-4104-a123-6b8c6b50fe78","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832249.97923} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f216520-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? 200 12ms","method":"GET","requestID":"9f216520-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? 200 12ms","method":"GET","requestID":"9f218c30-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Setting up experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully set up experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f308050-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f30ce70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36018","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985778,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully running experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f308050-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f308050-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813121,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.778554,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b3bc9d9-dc01-4a42-a3a7-abe96478622a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.0760617} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f30ce70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","rebac_allow":false,"scope_allow":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":"9f30ce70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f30ce70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling 200 9ms","method":"POST","requestID":"9f30ce70-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"b33c968c-17c0-4920-9385-aa3ec3c3df3b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.0801315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.430905886Z"}]},"request_id":"3adf907f-5ee9-46f3-b23f-252d8b3d2cfe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.0812414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f308050-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f32a330-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? 200 17ms","method":"GET","requestID":"9f30a760-08c9-11f0-a656-5b8621d22e82","responseTime":17,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f308050-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? 200 18ms","method":"GET","requestID":"9f308050-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f375e20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35fb1d81-0419-4a3b-81e8-2f9998b30ee0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.0871024} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468423,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f32a330-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"9f32a330-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F954d1660-c769-4001-87fe-d8b552ffa734#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F954d1660-c769-4001-87fe-d8b552ffa734","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"e13bfe02-cc00-4ec5-994f-557ea663fc46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1129735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9912e07f-ab3c-4102-bf0a-429a9f3de495","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1133072} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"ce657dc4975c6b79a32ccea9711ed9e8","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f32a330-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling 200 37ms","method":"POST","requestID":"9f32a330-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e5f2c16-9652-4168-a9c9-75a07b911e12","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1217158} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.257179,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f375e20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","rebac_allow":false,"scope_allow":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":"9f375e20-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f375e20-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling 200 12ms","method":"POST","requestID":"9f375e20-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling"} gateway-1 | {"time_local":"24/Mar/2025:16:04:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 204ms","method":"POST","requestID":"ce657dc4975c6b79a32ccea9711ed9e8","responseTime":204,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f39a810-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1MH0.dsGFruqMklIMloqxGnd9TgKuxMhgIP8B-PbueqfYBw8","level":"info","message":"auth send jwt","requestID":"3cfc2db13d2f97f40e00eebd4cde489c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3cfc2db13d2f97f40e00eebd4cde489c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3cfc2db13d2f97f40e00eebd4cde489c"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80c13028-29a2-4bd9-b389-e225a53cd80f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1336575} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798036,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f39a810-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","rebac_allow":false,"scope_allow":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":"9f39a810-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807906,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3cfc2db13d2f97f40e00eebd4cde489c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832250,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1MH0.dsGFruqMklIMloqxGnd9TgKuxMhgIP8B-PbueqfYBw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"3cfc2db13d2f97f40e00eebd4cde489c","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f39a810-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling 200 34ms","method":"POST","requestID":"9f39a810-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.430905886Z"}]},"request_id":"853e9ad9-ed03-4338-b241-046ff5f5633a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1640217} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Building connection plan","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} 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":"7703f6da-b9e1-41c5-95ad-192109bd3434"},{"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":"60babc63-9878-45e9-802e-89a9c46b2428"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4bfdbbc-f780-4ae6-8158-a00c5989d9ce"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3cfc2db13d2f97f40e00eebd4cde489c","responseTime":3,"status":200,"url":"/relations/query"} 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/584ff5ca-ef68-4673-bef9-0910e20559eb"},{"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/427d0424-b36b-4379-8afd-a686f0bbbb0b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3cfc2db13d2f97f40e00eebd4cde489c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cfc2db13d2f97f40e00eebd4cde489c"} device-1 | {"level":"info","message":"GET /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b? 200 37ms","method":"GET","requestID":"3cfc2db13d2f97f40e00eebd4cde489c","responseTime":37,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b?"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.055899,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832249,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI0OX0.i0yxAz3ylsK_0lRMKUdf-7IDuBYaFBngGc7Eoki-uds"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1MH0.dsGFruqMklIMloqxGnd9TgKuxMhgIP8B-PbueqfYBw8","level":"info","message":"auth send jwt","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62694,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832250,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1MH0.dsGFruqMklIMloqxGnd9TgKuxMhgIP8B-PbueqfYBw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"289e2db5-dc4a-4d60-8c16-e75b8f08be71","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1801054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21e37401-153d-46a7-88c5-07a2538bd51f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1803167} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:07.495932229Z"}]},"request_id":"d6114a22-8338-4bca-bfd0-c03ccabd92c3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.1814926} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d"} device-1 | {"level":"info","message":"GET /devices/584ff5ca-ef68-4673-bef9-0910e20559eb? 200 38ms","method":"GET","requestID":"a3e7e8cd17a39c351b18c3cf2b18e91d","responseTime":38,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d'","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d'","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 62ms","method":"POST","requestID":"9f3f4d60-08c9-11f0-a656-5b8621d22e82","responseTime":62,"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":"9f3f4d60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","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/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ce657dc4975c6b79a32ccea9711ed9e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f50b280-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e400fda4-d3ff-4226-b004-afd4f8f8518f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.2847302} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.540136,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f50b280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"9f50b280-08c9-11f0-a656-5b8621d22e82","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f50b280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling 200 28ms","method":"POST","requestID":"9f50b280-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f554660-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a4036a1-95cb-4c27-ad14-82e6c6f4fc85","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832250.3141432} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.088338,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9f554660-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","rebac_allow":false,"scope_allow":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":"9f554660-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f554660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling 200 8ms","method":"POST","requestID":"9f554660-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling"} device-1 | {"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4646378150076241798 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:q/Hb\r\na=ice-pwd:q3EZlsO8PFe3ufB2/xW6dJB5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 99:B0:80:DE:01:F1:7C:85:76:AA:08:8D:E9:ED:AA:42:8B:4B:56:42:FE:7A:DC:7A:AB:97:F1:42:9B:E5:C6:1A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"64ea9483-37d8-4882-8540-ede501c9044d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/64ea9483-37d8-4882-8540-ede501c9044d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64ea9483-37d8-4882-8540-ede501c9044d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c541b822d66d52d09e96dec33b49d933","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":"c541b822d66d52d09e96dec33b49d933","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/584ff5ca-ef68-4673-bef9-0910e20559eb"},{"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/427d0424-b36b-4379-8afd-a686f0bbbb0b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"}}},"level":"info","message":"received a callback","requestID":"c541b822d66d52d09e96dec33b49d933"} device-1 | {"content":{"candidate":"candidate:2500565346 1 udp 2113937151 4bd3fccc-2214-486c-99d7-719bf3a352fd.local 57953 typ host generation 0 ufrag q/Hb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c541b822d66d52d09e96dec33b49d933","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +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":"c541b822d66d52d09e96dec33b49d933"} device-1 | {"device":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"64ea9483-37d8-4882-8540-ede501c9044d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"64ea9483-37d8-4882-8540-ede501c9044d","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/64ea9483-37d8-4882-8540-ede501c9044d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64ea9483-37d8-4882-8540-ede501c9044d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"087326867b0587505d24ca0a62db4ccd","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":"087326867b0587505d24ca0a62db4ccd","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/584ff5ca-ef68-4673-bef9-0910e20559eb"},{"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/427d0424-b36b-4379-8afd-a686f0bbbb0b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"}}},"level":"info","message":"received a callback","requestID":"087326867b0587505d24ca0a62db4ccd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a0893280-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64ea9483-37d8-4882-8540-ede501c9044d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ab4ac54-d8ca-41ac-8c2b-017d8b25f242","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.3324447} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.13419,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a0893280-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","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":"a0893280-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a0893280-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/64ea9483-37d8-4882-8540-ede501c9044d 200 8ms","method":"GET","requestID":"a0893280-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"087326867b0587505d24ca0a62db4ccd","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +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":"087326867b0587505d24ca0a62db4ccd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a08d2a20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f14dbb60-3d1d-4ccd-b71d-510190739d72","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.3583567} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.268798,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a08d2a20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","rebac_allow":false,"scope_allow":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":"a08d2a20-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a08d2a20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling 200 8ms","method":"POST","requestID":"a08d2a20-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a08e89b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb114911-1a29-4ead-ba35-0d74522dc2d4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.3672578} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.117859,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a08e89b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","rebac_allow":false,"scope_allow":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":"a08e89b0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a08e89b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling 200 8ms","method":"POST","requestID":"a08e89b0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w","level":"info","message":"auth send jwt","requestID":"9ee821076d187c6752e745ea864e4518"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ee821076d187c6752e745ea864e4518","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/954d1660-c769-4001-87fe-d8b552ffa734","requestID":"9ee821076d187c6752e745ea864e4518"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.828815,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ee821076d187c6752e745ea864e4518","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832252,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ee821076d187c6752e745ea864e4518","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/954d1660-c769-4001-87fe-d8b552ffa734","requestID":"9ee821076d187c6752e745ea864e4518"} experiment-1 | {"level":"info","message":"GET /experiments/954d1660-c769-4001-87fe-d8b552ffa734 200 10ms","method":"GET","requestID":"9ee821076d187c6752e745ea864e4518","responseTime":10,"status":200,"url":"/experiments/954d1660-c769-4001-87fe-d8b552ffa734"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/954d1660-c769-4001-87fe-d8b552ffa734 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ee821076d187c6752e745ea864e4518"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w","level":"info","message":"auth send jwt","requestID":"c47561111fb4565fd2740d8aba2f3e9b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c47561111fb4565fd2740d8aba2f3e9b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/954d1660-c769-4001-87fe-d8b552ffa734","requestID":"c47561111fb4565fd2740d8aba2f3e9b"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.023839,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c47561111fb4565fd2740d8aba2f3e9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832252,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c47561111fb4565fd2740d8aba2f3e9b","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Attempting to finish experiment","requestID":"c47561111fb4565fd2740d8aba2f3e9b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.81975,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832252,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d","device":"427d0424-b36b-4379-8afd-a686f0bbbb0b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"584ff5ca-ef68-4673-bef9-0910e20559eb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/64ea9483-37d8-4882-8540-ede501c9044d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64ea9483-37d8-4882-8540-ede501c9044d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64ea9483-37d8-4882-8540-ede501c9044d': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64ea9483-37d8-4882-8540-ede501c9044d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"3c37416f-3e72-43c7-94de-a57ce9827a9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.4830246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94b74355-8933-4b70-83b6-8794c5ef393e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.4832137} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d0e1b19254c871f5523d4748b617992","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":"4d0e1b19254c871f5523d4748b617992","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6822393bd2869458075b6978fdcde7b1","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":"6822393bd2869458075b6978fdcde7b1","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":"closed","url":"http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb"},{"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/427d0424-b36b-4379-8afd-a686f0bbbb0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"}}},"level":"info","message":"received a callback","requestID":"4d0e1b19254c871f5523d4748b617992"} 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/584ff5ca-ef68-4673-bef9-0910e20559eb"},{"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/427d0424-b36b-4379-8afd-a686f0bbbb0b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"}}},"level":"info","message":"received a callback","requestID":"6822393bd2869458075b6978fdcde7b1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/64ea9483-37d8-4882-8540-ede501c9044d 204 63ms","method":"DELETE","requestID":"a09edd60-08c9-11f0-a656-5b8621d22e82","responseTime":63,"status":204,"url":"/peerconnections/64ea9483-37d8-4882-8540-ede501c9044d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/954d1660-c769-4001-87fe-d8b552ffa734"},"level":"info","message":"Successfully finished experiment","requestID":"c47561111fb4565fd2740d8aba2f3e9b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0aa9d30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F584ff5ca-ef68-4673-bef9-0910e20559eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ec22b56-038a-45d7-8998-1bbd62613f1d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.5510523} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36871,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a0aa9d30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/584ff5ca-ef68-4673-bef9-0910e20559eb","object_type":"device","rebac_allow":false,"scope_allow":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":"a0aa9d30-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0aa9d30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling 200 7ms","method":"POST","requestID":"a0aa9d30-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/584ff5ca-ef68-4673-bef9-0910e20559eb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0ac23d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F954d1660-c769-4001-87fe-d8b552ffa734': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F954d1660-c769-4001-87fe-d8b552ffa734","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"4d0c8822-abe7-4dca-ace5-9e55335f95e6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.5610793} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F427d0424-b36b-4379-8afd-a686f0bbbb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87677d47-fc23-4cd2-8573-dd1ea430a69c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.5615668} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aff18f84-63a0-4171-937a-ff006e534e62","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.5617955} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887833,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a0ac23d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b","object_type":"device","rebac_allow":false,"scope_allow":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":"a0ac23d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"c47561111fb4565fd2740d8aba2f3e9b","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0ac23d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling 200 9ms","method":"POST","requestID":"a0ac23d0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/427d0424-b36b-4379-8afd-a686f0bbbb0b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/954d1660-c769-4001-87fe-d8b552ffa734","requestID":"c47561111fb4565fd2740d8aba2f3e9b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/954d1660-c769-4001-87fe-d8b552ffa734 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":"c47561111fb4565fd2740d8aba2f3e9b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"4.105","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"d8358d3b470421e0c3dc79d062923ef1"} experiment-1 | {"level":"info","message":"DELETE /experiments/954d1660-c769-4001-87fe-d8b552ffa734 204 174ms","method":"DELETE","requestID":"c47561111fb4565fd2740d8aba2f3e9b","responseTime":174,"status":204,"url":"/experiments/954d1660-c769-4001-87fe-d8b552ffa734"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"4d0e1b19254c871f5523d4748b617992","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +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":"4d0e1b19254c871f5523d4748b617992"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"6822393bd2869458075b6978fdcde7b1","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +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":"6822393bd2869458075b6978fdcde7b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w","level":"info","message":"auth send jwt","requestID":"415252efcef03bba5eb9174edc17ee50"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"415252efcef03bba5eb9174edc17ee50","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"415252efcef03bba5eb9174edc17ee50"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2360","request_time":"2.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":"fbcbdef4b469755ae4e4e63eb1469672"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.757449,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"415252efcef03bba5eb9174edc17ee50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832252,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","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/584ff5ca-ef68-4673-bef9-0910e20559eb' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee55442e-3721-4b5e-9cb9-c38437325fe2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6336758} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","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/427d0424-b36b-4379-8afd-a686f0bbbb0b' 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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03611f40-fed2-4055-bb32-bdf0b8f659fb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.637864} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"6477b825-d5a8-4806-9abb-50ae3267e439","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6492112} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdc1d9c7-dfb2-4c14-99ee-b14585cd71fa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6494906} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.649179716Z"}]},"request_id":"578b3678-cd6d-48ed-a402-9c35a120536b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6532722} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"415252efcef03bba5eb9174edc17ee50"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"415252efcef03bba5eb9174edc17ee50","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +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":"415252efcef03bba5eb9174edc17ee50"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w","level":"info","message":"auth send jwt","requestID":"d3ea20bdc788a6392f1d0ea00705161d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3ea20bdc788a6392f1d0ea00705161d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d3ea20bdc788a6392f1d0ea00705161d"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742425,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d3ea20bdc788a6392f1d0ea00705161d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832252,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1Mn0.lEUrgGLCeDZ88PymCwcmzlcwKWoE-4zvF_XsF46BF7w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c55063d-668d-480d-b387-e5d2eb8e0c2e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6753345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a8ef62a-d796-4da3-bfeb-837e9325e663","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.6794453} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7a100561-5def-4ccf-8966-d13b8c60995a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.7123911} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b11eef61-fa40-4d87-b813-49d20c9e1e14","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.7125049} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","responseTime":35,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"4708bc48-e8e1-4e39-908a-fa2746510802","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832252.7162468} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d3ea20bdc788a6392f1d0ea00705161d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3ea20bdc788a6392f1d0ea00705161d"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"d3ea20bdc788a6392f1d0ea00705161d","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1M30.Lzl6m-oeQbj3YyU-hcI4NLZhAth8R6Deq-D82uIZsVc","level":"info","message":"auth send jwt","requestID":"82c66a11d552d34083636038c03a691b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"82c66a11d552d34083636038c03a691b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"82c66a11d552d34083636038c03a691b"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642846,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"82c66a11d552d34083636038c03a691b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832253,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1M30.Lzl6m-oeQbj3YyU-hcI4NLZhAth8R6Deq-D82uIZsVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"82c66a11d552d34083636038c03a691b","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"e75a54d8-8a3d-4adb-8788-86ae5288bb8c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832253.6281388} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82c66a11d552d34083636038c03a691b","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"618b1071-3291-4385-a4ad-e058f837d6d1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832253.6321883} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"82c66a11d552d34083636038c03a691b","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"923d3ec8-4825-45ca-bdb8-84167447cb34","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832253.6735218} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82c66a11d552d34083636038c03a691b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"82c66a11d552d34083636038c03a691b"} device-1 | {"level":"info","message":"PATCH /devices/89ca8b8c-c0db-479e-9587-c919f749a32d 200 55ms","method":"PATCH","requestID":"82c66a11d552d34083636038c03a691b","responseTime":55,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/89ca8b8c-c0db-479e-9587-c919f749a32d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"82c66a11d552d34083636038c03a691b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1M30.Lzl6m-oeQbj3YyU-hcI4NLZhAth8R6Deq-D82uIZsVc","level":"info","message":"auth send jwt","requestID":"47a90eac53f73aea245f7f07efb587ee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47a90eac53f73aea245f7f07efb587ee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"47a90eac53f73aea245f7f07efb587ee"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:13Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737054,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"47a90eac53f73aea245f7f07efb587ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832253,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1M30.Lzl6m-oeQbj3YyU-hcI4NLZhAth8R6Deq-D82uIZsVc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"47a90eac53f73aea245f7f07efb587ee","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"47a90eac53f73aea245f7f07efb587ee"} gateway-1 | {"time_local":"24/Mar/2025:16:04:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"47a90eac53f73aea245f7f07efb587ee"} device-1 | {"level":"info","message":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/websocket 200 37ms","method":"POST","requestID":"47a90eac53f73aea245f7f07efb587ee","responseTime":37,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a935bb0fa8d6cf2f73a939e03aa1bf2c","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":"a935bb0fa8d6cf2f73a939e03aa1bf2c","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/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":"a935bb0fa8d6cf2f73a939e03aa1bf2c"} device-1 | {"level":"info","message":"OPTIONS /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/websocket 200 1ms","method":"OPTIONS","requestID":"a935bb0fa8d6cf2f73a939e03aa1bf2c","responseTime":1,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU","level":"info","message":"auth send jwt","requestID":"42b81d66ad2122a546050cd0c56067fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42b81d66ad2122a546050cd0c56067fa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"42b81d66ad2122a546050cd0c56067fa"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164344,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"42b81d66ad2122a546050cd0c56067fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42b81d66ad2122a546050cd0c56067fa","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"42b81d66ad2122a546050cd0c56067fa"} gateway-1 | {"time_local":"24/Mar/2025:16:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/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":"42b81d66ad2122a546050cd0c56067fa"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/websocket 200 28ms","method":"POST","requestID":"42b81d66ad2122a546050cd0c56067fa","responseTime":28,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU","level":"info","message":"auth send jwt","requestID":"9ca9daa4f8eff1709ba04116d88b533d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ca9daa4f8eff1709ba04116d88b533d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ca9daa4f8eff1709ba04116d88b533d"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015902,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ca9daa4f8eff1709ba04116d88b533d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ca9daa4f8eff1709ba04116d88b533d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.649179716Z"}]},"request_id":"ccc374d9-0512-47f2-bf6f-cadd2004a03c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832254.9791086} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9ca9daa4f8eff1709ba04116d88b533d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ca9daa4f8eff1709ba04116d88b533d"} device-1 | {"level":"info","message":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? 200 10ms","method":"GET","requestID":"9ca9daa4f8eff1709ba04116d88b533d","responseTime":10,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? 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":"9ca9daa4f8eff1709ba04116d88b533d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU","level":"info","message":"auth send jwt","requestID":"06767fa52d314d99d66dfe4715635954"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06767fa52d314d99d66dfe4715635954","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"06767fa52d314d99d66dfe4715635954"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648107,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"06767fa52d314d99d66dfe4715635954","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06767fa52d314d99d66dfe4715635954","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"f35774e5-828e-4a3e-9a87-1c765d256109","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832254.991476} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"06767fa52d314d99d66dfe4715635954","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"06767fa52d314d99d66dfe4715635954"} gateway-1 | {"time_local":"24/Mar/2025:16:04:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06767fa52d314d99d66dfe4715635954"} device-1 | {"level":"info","message":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? 200 9ms","method":"GET","requestID":"06767fa52d314d99d66dfe4715635954","responseTime":9,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU","level":"info","message":"auth send jwt","requestID":"501e60b4c9c924a693a6b3533401803b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"501e60b4c9c924a693a6b3533401803b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"501e60b4c9c924a693a6b3533401803b"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.695826,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"501e60b4c9c924a693a6b3533401803b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"501e60b4c9c924a693a6b3533401803b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to run experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to book experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully booked experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2250830-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602658,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2250830-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2250830-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.536287,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82","responseTime":28,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.649179716Z"}]},"request_id":"5084fb38-babc-4198-b098-34a0e9fb3e82","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.0590863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2250830-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"245c998e-4cb1-4110-95cf-e1185369bb03","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.0602167} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2250830-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? 200 37ms","method":"GET","requestID":"a2250830-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? 200 37ms","method":"GET","requestID":"a2252f40-08c9-11f0-a656-5b8621d22e82","responseTime":37,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Setting up experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully set up experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2342360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2347180-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:33202","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951858,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613291,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2342360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully running experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a2342360-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45450","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"6c54aa66-9897-4bb4-9157-d06db30856cb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.1609128} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c36c2c95-a2c5-4764-b718-572be7f76451","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.1609533} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a2342360-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45450","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930935,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2347180-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"a2347180-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.649179716Z"}]},"request_id":"d5ca3810-6abb-42ed-9737-0c9fa9238fde","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.1632721} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2347180-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling 200 39ms","method":"POST","requestID":"a2347180-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2342360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? 200 43ms","method":"GET","requestID":"a2342360-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? 200 44ms","method":"GET","requestID":"a233fc50-08c9-11f0-a656-5b8621d22e82","responseTime":44,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a23ada20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a23b0130-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:45450","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c329fbbb-0d89-4c6f-a3b4-fc43e78735f9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.173677} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9cb7a1c-f854-4ded-97dc-875955ca3e52","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.1742735} authorization-1 | {"client_addr":"127.0.0.1:45450","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.29125,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a23ada20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","rebac_allow":false,"scope_allow":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":"a23ada20-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.046661,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a23ada20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a23b0130-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","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":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling 200 31ms","method":"POST","requestID":"a23ada20-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"a23b0130-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb42042c7-5da6-4f8d-b786-15bfe5c341c6#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb42042c7-5da6-4f8d-b786-15bfe5c341c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"3728e88f-0d64-4e2e-8fbc-568648f8557d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2014718} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"169bcce3-e517-47dd-8bc3-8d9a3405ca4f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2018533} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"501e60b4c9c924a693a6b3533401803b","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a23b0130-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling 200 33ms","method":"POST","requestID":"a23b0130-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2407f70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"501e60b4c9c924a693a6b3533401803b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 212ms","method":"POST","requestID":"501e60b4c9c924a693a6b3533401803b","responseTime":212,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48c96d12-0ba5-4fad-a5b9-7127b6ba787f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.211501} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415707,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2407f70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","rebac_allow":false,"scope_allow":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":"a2407f70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NX0.d_ZcmEtLHgidv7jvnbKKlaujlQ74o50QCjEJtGFm1mQ","level":"info","message":"auth send jwt","requestID":"adc00286b27e433a8746c05ad7fc63fd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"adc00286b27e433a8746c05ad7fc63fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2407f70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling 200 9ms","method":"POST","requestID":"a2407f70-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"adc00286b27e433a8746c05ad7fc63fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Building connection plan","requestID":"501e60b4c9c924a693a6b3533401803b"} 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":"077374f6-d767-40c8-9548-7b4fb93a858f"},{"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":"3c52f67c-e98f-4b17-b9bf-953841f5dcd4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b958f0d5-9e24-484c-ad63-53cfb3193ccf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"501e60b4c9c924a693a6b3533401803b"} 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/89ca8b8c-c0db-479e-9587-c919f749a32d"},{"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/8239569a-b996-42cd-9ad2-34ee40e0ed5d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"501e60b4c9c924a693a6b3533401803b"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854958,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"adc00286b27e433a8746c05ad7fc63fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832255,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NX0.d_ZcmEtLHgidv7jvnbKKlaujlQ74o50QCjEJtGFm1mQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"adc00286b27e433a8746c05ad7fc63fd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.593544,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2425430-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832254,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NH0.My2F338xTEUax5zDAWWXRqjwP3jDgylur8ZxGL7DEjU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.649179716Z"}]},"request_id":"645b5fd4-7059-4bb4-8612-27b290b99848","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2227225} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"adc00286b27e433a8746c05ad7fc63fd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"adc00286b27e433a8746c05ad7fc63fd"} device-1 | {"level":"info","message":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? 200 38ms","method":"GET","requestID":"adc00286b27e433a8746c05ad7fc63fd","responseTime":38,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adc00286b27e433a8746c05ad7fc63fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NX0.d_ZcmEtLHgidv7jvnbKKlaujlQ74o50QCjEJtGFm1mQ","level":"info","message":"auth send jwt","requestID":"4db9d4bbd20e178382714ac3ffd6b35a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4db9d4bbd20e178382714ac3ffd6b35a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"8c86882d-57fb-421a-a5aa-8e7cae93c801","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2598803} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4db9d4bbd20e178382714ac3ffd6b35a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcb2180f-bd81-476d-9200-66ffc8b38f6a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2600932} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.491094,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4db9d4bbd20e178382714ac3ffd6b35a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832255,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1NX0.d_ZcmEtLHgidv7jvnbKKlaujlQ74o50QCjEJtGFm1mQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4db9d4bbd20e178382714ac3ffd6b35a","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:12.712363214Z"}]},"request_id":"859fddc6-e175-4599-b78b-c74b5bf01503","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.2675166} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4db9d4bbd20e178382714ac3ffd6b35a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9'","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9'","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 82ms","method":"POST","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82","responseTime":82,"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":"4db9d4bbd20e178382714ac3ffd6b35a"} device-1 | {"level":"info","message":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? 200 42ms","method":"GET","requestID":"4db9d4bbd20e178382714ac3ffd6b35a","responseTime":42,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89ca8b8c-c0db-479e-9587-c919f749a32d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4db9d4bbd20e178382714ac3ffd6b35a"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a2425430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","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/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"501e60b4c9c924a693a6b3533401803b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2565160-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"575cc26c-0889-4b09-a713-5aed6cb74bb8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.3537288} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349482,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2565160-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","rebac_allow":false,"scope_allow":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":"a2565160-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2565160-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling 200 7ms","method":"POST","requestID":"a2565160-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a25789e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26598998-b8a1-4504-ad0a-08960227bcb4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832255.362509} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.187501,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a25789e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","rebac_allow":false,"scope_allow":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":"a25789e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a25789e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling 200 8ms","method":"POST","requestID":"a25789e0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling"} device-1 | {"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 3726204068182445119 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:rm/U\r\na=ice-pwd:XNUbf1LhXodcU/GBf8Bxczmk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 06:65:C4:7A:57:1F:95:7E:56:94:27:79:82:E2:34:65:A6:C0:CA:D2:97:40:D8:01:22:8C:66:44:13:1D:66:A3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/90179e55-5878-42b6-9956-7794419ab0f9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7c79b4a4173aca637fa0e6843408771","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":"f7c79b4a4173aca637fa0e6843408771","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/89ca8b8c-c0db-479e-9587-c919f749a32d"},{"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/8239569a-b996-42cd-9ad2-34ee40e0ed5d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"}}},"level":"info","message":"received a callback","requestID":"f7c79b4a4173aca637fa0e6843408771"} device-1 | {"content":{"candidate":"candidate:2355227394 1 udp 2113937151 cf90d162-b104-470c-8962-01436f9629f3.local 59546 typ host generation 0 ufrag rm/U network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"f7c79b4a4173aca637fa0e6843408771","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +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":"f7c79b4a4173aca637fa0e6843408771"} device-1 | {"device":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"90179e55-5878-42b6-9956-7794419ab0f9","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/90179e55-5878-42b6-9956-7794419ab0f9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eb5c44bcc6373291cc686052e547d334","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":"eb5c44bcc6373291cc686052e547d334","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/89ca8b8c-c0db-479e-9587-c919f749a32d"},{"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/8239569a-b996-42cd-9ad2-34ee40e0ed5d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"}}},"level":"info","message":"received a callback","requestID":"eb5c44bcc6373291cc686052e547d334"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a38b27e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90179e55-5878-42b6-9956-7794419ab0f9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d41f7118-cdec-47ad-aa01-3e634c144e49","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.378437} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.249117,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a38b27e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","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":"a38b27e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a38b27e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/90179e55-5878-42b6-9956-7794419ab0f9 200 7ms","method":"GET","requestID":"a38b27e0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"eb5c44bcc6373291cc686052e547d334","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +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":"eb5c44bcc6373291cc686052e547d334"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a38e5c30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c38bfb6-701e-49dc-a0cb-306e26c9277d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.3992438} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282957,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a38e5c30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","rebac_allow":false,"scope_allow":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":"a38e5c30-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a38e5c30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling 200 7ms","method":"POST","requestID":"a38e5c30-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a38fbbc0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfc5bc6a-21e6-45d4-96ab-300668eb171b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.4080894} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.115899,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a38fbbc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","rebac_allow":false,"scope_allow":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":"a38fbbc0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a38fbbc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling 200 7ms","method":"POST","requestID":"a38fbbc0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc","level":"info","message":"auth send jwt","requestID":"9382eccbc24076c4d15c71d0c7223ecc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9382eccbc24076c4d15c71d0c7223ecc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","requestID":"9382eccbc24076c4d15c71d0c7223ecc"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.159431,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9382eccbc24076c4d15c71d0c7223ecc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832257,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9382eccbc24076c4d15c71d0c7223ecc","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","requestID":"9382eccbc24076c4d15c71d0c7223ecc"} experiment-1 | {"level":"info","message":"GET /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6 200 14ms","method":"GET","requestID":"9382eccbc24076c4d15c71d0c7223ecc","responseTime":14,"status":200,"url":"/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9382eccbc24076c4d15c71d0c7223ecc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc","level":"info","message":"auth send jwt","requestID":"54df50c213e03b1bce0395f3ddc11e79"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54df50c213e03b1bce0395f3ddc11e79","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","requestID":"54df50c213e03b1bce0395f3ddc11e79"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.693852,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"54df50c213e03b1bce0395f3ddc11e79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832257,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"54df50c213e03b1bce0395f3ddc11e79","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Attempting to finish experiment","requestID":"54df50c213e03b1bce0395f3ddc11e79"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.623709,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832257,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9","device":"8239569a-b996-42cd-9ad2-34ee40e0ed5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89ca8b8c-c0db-479e-9587-c919f749a32d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/90179e55-5878-42b6-9956-7794419ab0f9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd7ff80d-6fc7-4cff-939f-729a10d77e64","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.557125} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bc70a18e1ac1a6bf6814f4d2c88732b8","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":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90179e55-5878-42b6-9956-7794419ab0f9': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F90179e55-5878-42b6-9956-7794419ab0f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"23af0c5e-e6e7-46be-af0d-b857fee3cebc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.5568538} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bc70a18e1ac1a6bf6814f4d2c88732b8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdac36c7a86ac324810a26ecf39faa93","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/89ca8b8c-c0db-479e-9587-c919f749a32d"},{"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/8239569a-b996-42cd-9ad2-34ee40e0ed5d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"}}},"level":"info","message":"received a callback","requestID":"bc70a18e1ac1a6bf6814f4d2c88732b8"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cdac36c7a86ac324810a26ecf39faa93","responseTime":1,"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":"closed","url":"http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d"},{"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/8239569a-b996-42cd-9ad2-34ee40e0ed5d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"}}},"level":"info","message":"received a callback","requestID":"cdac36c7a86ac324810a26ecf39faa93"} device-1 | {"data":{"peerconnection":"90179e55-5878-42b6-9956-7794419ab0f9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/90179e55-5878-42b6-9956-7794419ab0f9 204 87ms","method":"DELETE","requestID":"a3a120e0-08c9-11f0-a656-5b8621d22e82","responseTime":87,"status":204,"url":"/peerconnections/90179e55-5878-42b6-9956-7794419ab0f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"},"level":"info","message":"Successfully finished experiment","requestID":"54df50c213e03b1bce0395f3ddc11e79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3b0d850-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89ca8b8c-c0db-479e-9587-c919f749a32d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60eacc69-29df-4be2-9c0d-02df774dee54","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.6490674} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.367955,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3b0d850-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89ca8b8c-c0db-479e-9587-c919f749a32d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a3b0d850-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3b0d850-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling 200 31ms","method":"POST","requestID":"a3b0d850-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/devices/89ca8b8c-c0db-479e-9587-c919f749a32d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3b5e160-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb42042c7-5da6-4f8d-b786-15bfe5c341c6': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb42042c7-5da6-4f8d-b786-15bfe5c341c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"6d45cde7-5179-4a63-ac42-386d0378988e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.6553798} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c588d79-6dd3-4624-aff4-40f197fa2ead","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.6556873} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"54df50c213e03b1bce0395f3ddc11e79","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8239569a-b996-42cd-9ad2-34ee40e0ed5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1492dc2c-8d65-4d19-8021-57e3b9064234","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.6592405} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318268,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a3b5e160-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d","object_type":"device","rebac_allow":false,"scope_allow":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":"a3b5e160-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3b5e160-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling 200 9ms","method":"POST","requestID":"a3b5e160-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/8239569a-b996-42cd-9ad2-34ee40e0ed5d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6","requestID":"54df50c213e03b1bce0395f3ddc11e79"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.270","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54df50c213e03b1bce0395f3ddc11e79"} experiment-1 | {"level":"info","message":"DELETE /experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6 204 242ms","method":"DELETE","requestID":"54df50c213e03b1bce0395f3ddc11e79","responseTime":242,"status":204,"url":"/experiments/b42042c7-5da6-4f8d-b786-15bfe5c341c6"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"4.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a22b27ae75b40bb0d3eb5b5b9386497d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"bc70a18e1ac1a6bf6814f4d2c88732b8","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +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.199","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc70a18e1ac1a6bf6814f4d2c88732b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"cdac36c7a86ac324810a26ecf39faa93","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +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.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"cdac36c7a86ac324810a26ecf39faa93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc","level":"info","message":"auth send jwt","requestID":"71dbf74c273922123b619ab5b35ecbaf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71dbf74c273922123b619ab5b35ecbaf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"71dbf74c273922123b619ab5b35ecbaf"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2360","request_time":"2.805","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":"1001cc3412a96d67459c5f6c56d0315a"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.552811,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"71dbf74c273922123b619ab5b35ecbaf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832257,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","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/89ca8b8c-c0db-479e-9587-c919f749a32d' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0456388f-7e30-42bb-8d33-df774b714f6b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.8019047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35bd2433-9566-459e-a9d5-3d298cbff483","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.806175} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","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/8239569a-b996-42cd-9ad2-34ee40e0ed5d' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"14433845-d047-4900-88b7-1b48c7e0574d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.815713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cce8c2d-ccbe-441f-a068-1149ad59423f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.8158386} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"35945d5d-939b-4163-b373-09c25a96b261","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.8201804} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"71dbf74c273922123b619ab5b35ecbaf"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71dbf74c273922123b619ab5b35ecbaf"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"71dbf74c273922123b619ab5b35ecbaf","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc","level":"info","message":"auth send jwt","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713896,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832257,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1N30.LllYl-u-YRyiLul9hlDUnlbMcvMsTbKTPr2N2dwt7Wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b68bceac-b55f-448d-882a-c7f43896b8d5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.8905904} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0d031e1-7e4d-4bb3-9aea-874faffe1333","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.8947897} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"116b575c-e7f3-4574-9fed-648c981ccc37","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.904262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a9da8c6-d375-494c-92ca-0e38510f23d9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.9044652} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.904222146Z"}]},"request_id":"84d85c2d-ad78-4f2e-8514-2d5f119de7bf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832257.9094727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571"} gateway-1 | {"time_local":"24/Mar/2025:16:04:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"e86b9711a99dbcc7fa5d9c0bba80f571","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1OH0._GAExYRl5MdXoIi2vWIzmLsK6KwhwvS1QhUa4WESHN0","level":"info","message":"auth send jwt","requestID":"0983bc11a9f221456b2d53f1a9592a5d"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"0983bc11a9f221456b2d53f1a9592a5d","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0983bc11a9f221456b2d53f1a9592a5d"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636504,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0983bc11a9f221456b2d53f1a9592a5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832258,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1OH0._GAExYRl5MdXoIi2vWIzmLsK6KwhwvS1QhUa4WESHN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0983bc11a9f221456b2d53f1a9592a5d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"7d4ee60f-514a-4293-982e-f54ba002ad56","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832258.8101332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0983bc11a9f221456b2d53f1a9592a5d","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b4ed9c5-1390-45ff-b605-d72d7f51831f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832258.8137996} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0983bc11a9f221456b2d53f1a9592a5d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"cdab099e-9bdf-48f5-a9cb-8201c4c8f6bf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832258.8547838} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0983bc11a9f221456b2d53f1a9592a5d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0983bc11a9f221456b2d53f1a9592a5d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df912831-6325-401e-80df-b22cf10014b4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"0983bc11a9f221456b2d53f1a9592a5d"} device-1 | {"level":"info","message":"PATCH /devices/df912831-6325-401e-80df-b22cf10014b4 200 54ms","method":"PATCH","requestID":"0983bc11a9f221456b2d53f1a9592a5d","responseTime":54,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1OH0._GAExYRl5MdXoIi2vWIzmLsK6KwhwvS1QhUa4WESHN0","level":"info","message":"auth send jwt","requestID":"1f674cb9249ba9f741a80e2544594821"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f674cb9249ba9f741a80e2544594821","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1f674cb9249ba9f741a80e2544594821"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:18Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69863,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1f674cb9249ba9f741a80e2544594821","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832258,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI1OH0._GAExYRl5MdXoIi2vWIzmLsK6KwhwvS1QhUa4WESHN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1f674cb9249ba9f741a80e2544594821","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1f674cb9249ba9f741a80e2544594821"} gateway-1 | {"time_local":"24/Mar/2025:16:04:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"1f674cb9249ba9f741a80e2544594821"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/websocket 200 38ms","method":"POST","requestID":"1f674cb9249ba9f741a80e2544594821","responseTime":38,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aa315a61a9c042fbb44d27d1d85a7c52","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":"aa315a61a9c042fbb44d27d1d85a7c52","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/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":"aa315a61a9c042fbb44d27d1d85a7c52"} device-1 | {"level":"info","message":"OPTIONS /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/websocket 200 1ms","method":"OPTIONS","requestID":"aa315a61a9c042fbb44d27d1d85a7c52","responseTime":1,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330576,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f1264fe66b62d7fdb4045ab6f6d9f664","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/websocket 200 24ms","method":"POST","requestID":"f1264fe66b62d7fdb4045ab6f6d9f664","responseTime":24,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/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":"f1264fe66b62d7fdb4045ab6f6d9f664"} device-1 | {"level":"info","message":"device 'http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828072,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"874745f4-c0c2-435f-b794-5a9a508b9975","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.2634513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? 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":"5b3ed8decd1fbd814c4a4760e6ef2b4e"} device-1 | {"level":"info","message":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? 200 12ms","method":"GET","requestID":"5b3ed8decd1fbd814c4a4760e6ef2b4e","responseTime":12,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"a88ffbef256dae1b99a56638a8aa68cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a88ffbef256dae1b99a56638a8aa68cd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a88ffbef256dae1b99a56638a8aa68cd"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704912,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a88ffbef256dae1b99a56638a8aa68cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a88ffbef256dae1b99a56638a8aa68cd","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.904222146Z"}]},"request_id":"4948ca10-0d6c-4fa3-94de-5d63b7401a0d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.2794397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a88ffbef256dae1b99a56638a8aa68cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a88ffbef256dae1b99a56638a8aa68cd"} device-1 | {"level":"info","message":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? 200 11ms","method":"GET","requestID":"a88ffbef256dae1b99a56638a8aa68cd","responseTime":11,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a88ffbef256dae1b99a56638a8aa68cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"914fe3f6753dcd642330a4db0af76698"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"914fe3f6753dcd642330a4db0af76698","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"914fe3f6753dcd642330a4db0af76698"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.024334,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"914fe3f6753dcd642330a4db0af76698","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"914fe3f6753dcd642330a4db0af76698","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to run experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to book experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully booked experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624858,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.340465,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"c55c2626-1065-489d-ae41-ea80205f39bc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.3444426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.904222146Z"}]},"request_id":"185427a2-5c34-4069-9aeb-b17fecab4b60","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.3477685} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? 200 15ms","method":"GET","requestID":"a54ed0e0-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? 200 16ms","method":"GET","requestID":"a54f1f00-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Setting up experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully set up experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5603600-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully running experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.02739,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793498,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a87dec-a5cb-4db1-aab8-3a86b4c05db6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4540746} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.904222146Z"}]},"request_id":"30cef69a-4794-4d7b-b970-105d9282a330","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4555843} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.037073,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a5603600-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"a5603600-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"73ef64f0-4e4b-4e2c-b27e-9aee01db9b09","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4564435} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff26e0b85-25c5-41a5-a968-44418e3ebb5c#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff26e0b85-25c5-41a5-a968-44418e3ebb5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"78c0fe7e-07b9-4468-bb27-70a4d6cee5a8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4850376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4a97d0c-ed36-45de-83cd-815524596e7e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4852102} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5603600-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"914fe3f6753dcd642330a4db0af76698","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/signaling 200 39ms","method":"POST","requestID":"a5603600-08c9-11f0-a656-5b8621d22e82","responseTime":39,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? 200 40ms","method":"GET","requestID":"a5600ef0-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? 200 42ms","method":"GET","requestID":"a55fe7e0-08c9-11f0-a656-5b8621d22e82","responseTime":42,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5667790-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b132df7-4c21-4309-88b7-4cb6e8432d45","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.492637} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497489,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a56713d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a5667790-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","rebac_allow":false,"scope_allow":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":"a5667790-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"914fe3f6753dcd642330a4db0af76698"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5667790-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"POST /experiments? 201 210ms","method":"POST","requestID":"914fe3f6753dcd642330a4db0af76698","responseTime":210,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling 200 8ms","method":"POST","requestID":"a5667790-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"914fe3f6753dcd642330a4db0af76698"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8a1d93f-8259-4b4e-810f-895fc1137916","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.4985278} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930118,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a56713d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","rebac_allow":false,"scope_allow":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":"a56713d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"f801fa067df388c2993935de4778484d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f801fa067df388c2993935de4778484d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f801fa067df388c2993935de4778484d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a56713d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/signaling 200 11ms","method":"POST","requestID":"a56713d0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.308598,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a56cb920-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"f801fa067df388c2993935de4778484d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f801fa067df388c2993935de4778484d","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04: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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.815689483Z"}]},"request_id":"d8bf054f-1839-4981-bbf1-0c1c76030073","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.5335681} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f801fa067df388c2993935de4778484d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09f09c13-c6bb-4e1f-9736-a53fcd3944cd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.5340538} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65978,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a56cb920-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","rebac_allow":false,"scope_allow":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":"a56cb920-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f801fa067df388c2993935de4778484d"} device-1 | {"level":"info","message":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? 200 36ms","method":"GET","requestID":"f801fa067df388c2993935de4778484d","responseTime":36,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df912831-6325-401e-80df-b22cf10014b4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f801fa067df388c2993935de4778484d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a56cb920-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling 200 8ms","method":"POST","requestID":"a56cb920-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Building connection plan","requestID":"914fe3f6753dcd642330a4db0af76698"} 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":"311b6529-b9c3-4719-8a63-161d0abbde40"},{"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":"f79d4697-c034-4005-974c-5df78ca9649b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"902b6bf7-81e7-49cf-8aa8-29753358bf21"}]},"level":"info","message":"Built pairwise service configurations","requestID":"914fe3f6753dcd642330a4db0af76698"} 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/df912831-6325-401e-80df-b22cf10014b4"},{"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/371a95eb-8832-4ad6-b4fa-d3728a771e36"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"914fe3f6753dcd642330a4db0af76698"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY","level":"info","message":"auth send jwt","requestID":"d5bf48b00cd75410d20373b2fb84c0a8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5bf48b00cd75410d20373b2fb84c0a8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5bf48b00cd75410d20373b2fb84c0a8"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:45458","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.637153,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612455,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d5bf48b00cd75410d20373b2fb84c0a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832260,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2MH0.cGvVyrjR6zD6XZqUmgcj_u0iG94s77VlR5uvFet7swY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d5bf48b00cd75410d20373b2fb84c0a8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:17.904222146Z"}]},"request_id":"f36801d0-08ae-4297-9a30-6ef33a2d88f6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.547991} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d5bf48b00cd75410d20373b2fb84c0a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5bf48b00cd75410d20373b2fb84c0a8"} gateway-1 | {"time_local":"24/Mar/2025:16:04:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5bf48b00cd75410d20373b2fb84c0a8"} device-1 | {"level":"info","message":"GET /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36? 200 8ms","method":"GET","requestID":"d5bf48b00cd75410d20373b2fb84c0a8","responseTime":8,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7fcf0d7c-b552-46ec-8110-1a3e52023fbe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.5516214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5528961-1c3b-4a73-bf7e-5ff984681583","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.5518122} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e'","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e'","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 55ms","method":"POST","requestID":"a56e3fc0-08c9-11f0-a656-5b8621d22e82","responseTime":55,"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":"a56e3fc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","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/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"914fe3f6753dcd642330a4db0af76698"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a57b8630-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9e7b5c1-f563-4b4e-9f76-5837444a3109","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.6317005} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470396,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a57b8630-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","rebac_allow":false,"scope_allow":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":"a57b8630-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a57b8630-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/signaling 200 8ms","method":"POST","requestID":"a57b8630-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a57d0cd0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a323bfcb-fd33-4ae1-88af-2ea785a4ced9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832260.6405504} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.24664,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a57d0cd0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","rebac_allow":false,"scope_allow":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":"a57d0cd0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a57d0cd0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling 200 7ms","method":"POST","requestID":"a57d0cd0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling"} device-1 | {"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 818603921076816681 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:Fnuo\r\na=ice-pwd:MdBODaXVOx1qY9MTquZjxUt4\r\na=ice-options:trickle\r\na=fingerprint:sha-256 94:13:13:96:F7:D1:50:94:57:14:B3:5C:27:F4:18:68:D2:EB:C8:0A:D2:3E:7D:89:8D:ED:FB:29:2A:A0:85:90\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/73d3e414-d6a6-4330-bfdf-c5ce692cd77e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e51b4d1141be2ac85bc195b136868f70","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":"e51b4d1141be2ac85bc195b136868f70","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":"connecting","url":"http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4"},{"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/371a95eb-8832-4ad6-b4fa-d3728a771e36"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"}}},"level":"info","message":"received a callback","requestID":"e51b4d1141be2ac85bc195b136868f70"} device-1 | {"content":{"candidate":"candidate:3892770468 1 udp 2113937151 e98c4214-0178-4c61-ae73-f812d66df333.local 52523 typ host generation 0 ufrag Fnuo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e51b4d1141be2ac85bc195b136868f70","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +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":"e51b4d1141be2ac85bc195b136868f70"} device-1 | {"device":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"371a95eb-8832-4ad6-b4fa-d3728a771e36","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","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/73d3e414-d6a6-4330-bfdf-c5ce692cd77e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"15d2e5fc2b20d990c2ba67b2bd2fbf46","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":"15d2e5fc2b20d990c2ba67b2bd2fbf46","responseTime":0,"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/df912831-6325-401e-80df-b22cf10014b4"},{"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/371a95eb-8832-4ad6-b4fa-d3728a771e36"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"}}},"level":"info","message":"received a callback","requestID":"15d2e5fc2b20d990c2ba67b2bd2fbf46"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a6b53eb0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73d3e414-d6a6-4330-bfdf-c5ce692cd77e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"828cbe4b-16fc-4686-8bc7-e58c7b31bbd9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.6876109} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.194427,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6b53eb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","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":"a6b53eb0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a6b53eb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e 200 8ms","method":"GET","requestID":"a6b53eb0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"15d2e5fc2b20d990c2ba67b2bd2fbf46","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +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":"15d2e5fc2b20d990c2ba67b2bd2fbf46"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6b93650-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b71254dc-03a6-4fca-b142-c137397cdd0f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.7135854} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392048,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6b93650-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","rebac_allow":false,"scope_allow":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":"a6b93650-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6b93650-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/signaling 200 29ms","method":"POST","requestID":"a6b93650-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6be1850-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20dc9815-fbce-431f-ae8c-47b64fcb6ee9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.7465923} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.222911,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6be1850-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","rebac_allow":false,"scope_allow":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":"a6be1850-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6be1850-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling 200 10ms","method":"POST","requestID":"a6be1850-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM","level":"info","message":"auth send jwt","requestID":"7b3860e933a3133ce7f94036197f0ead"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b3860e933a3133ce7f94036197f0ead","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","requestID":"7b3860e933a3133ce7f94036197f0ead"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.935631,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7b3860e933a3133ce7f94036197f0ead","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832262,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"7b3860e933a3133ce7f94036197f0ead","responseTime":24,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","requestID":"7b3860e933a3133ce7f94036197f0ead"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b3860e933a3133ce7f94036197f0ead"} experiment-1 | {"level":"info","message":"GET /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c 200 29ms","method":"GET","requestID":"7b3860e933a3133ce7f94036197f0ead","responseTime":29,"status":200,"url":"/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM","level":"info","message":"auth send jwt","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.11639,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832262,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Attempting to finish experiment","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.774375,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832262,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"df912831-6325-401e-80df-b22cf10014b4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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"}} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73d3e414-d6a6-4330-bfdf-c5ce692cd77e': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73d3e414-d6a6-4330-bfdf-c5ce692cd77e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"2c59f358-6819-4413-80f0-66bd4eb96bb8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.8362792} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9eca16a0-07be-40ff-a486-26c45f199743","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.836425} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e","device":"371a95eb-8832-4ad6-b4fa-d3728a771e36","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/73d3e414-d6a6-4330-bfdf-c5ce692cd77e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73d3e414-d6a6-4330-bfdf-c5ce692cd77e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"31c4d3787fdc123dfb9703303d02cc9e","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":"31c4d3787fdc123dfb9703303d02cc9e","responseTime":0,"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":"closed","url":"http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4"},{"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/371a95eb-8832-4ad6-b4fa-d3728a771e36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"}}},"level":"info","message":"received a callback","requestID":"31c4d3787fdc123dfb9703303d02cc9e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"39c4af972f05764725ae430f99d8cf87","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":"39c4af972f05764725ae430f99d8cf87","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e 204 40ms","method":"DELETE","requestID":"a6c76720-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":204,"url":"/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"} 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/df912831-6325-401e-80df-b22cf10014b4"},{"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/371a95eb-8832-4ad6-b4fa-d3728a771e36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/73d3e414-d6a6-4330-bfdf-c5ce692cd77e"}}},"level":"info","message":"received a callback","requestID":"39c4af972f05764725ae430f99d8cf87"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"},"level":"info","message":"Successfully finished experiment","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6d3c330-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf912831-6325-401e-80df-b22cf10014b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14fa80d9-809c-4750-b042-9c9f275654ec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.887661} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.424259,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6d3c330-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4","object_type":"device","rebac_allow":false,"scope_allow":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":"a6d3c330-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6d3c330-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/df912831-6325-401e-80df-b22cf10014b4/signaling 200 8ms","method":"POST","requestID":"a6d3c330-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/df912831-6325-401e-80df-b22cf10014b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6d549d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff26e0b85-25c5-41a5-a968-44418e3ebb5c': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff26e0b85-25c5-41a5-a968-44418e3ebb5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"d1d17694-f1eb-4c89-b030-11fe78bca450","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.894271} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6408299-e086-47ca-acba-60320be9aa83","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.8945503} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F371a95eb-8832-4ad6-b4fa-d3728a771e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f0e440e-b145-4ab1-862a-913f53e2ae71","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832262.897151} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.245858,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a6d549d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36","object_type":"device","rebac_allow":false,"scope_allow":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":"a6d549d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6d549d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling 200 8ms","method":"POST","requestID":"a6d549d0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5"} experiment-1 | {"level":"info","message":"DELETE /experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c 204 200ms","method":"DELETE","requestID":"ce56b4b99a8e5f7e3a6bbcc448a048e5","responseTime":200,"status":204,"url":"/experiments/f26e0b85-25c5-41a5-a968-44418e3ebb5c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"4.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"6f3918057c72f5364361b723f9c27dda"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"31c4d3787fdc123dfb9703303d02cc9e","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +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":"31c4d3787fdc123dfb9703303d02cc9e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM","level":"info","message":"auth send jwt","requestID":"51746bc22063ea123bdaf49f988e38eb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"39c4af972f05764725ae430f99d8cf87","responseTime":154,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"51746bc22063ea123bdaf49f988e38eb"} gateway-1 | {"time_local":"24/Mar/2025:16:04:22 +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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"39c4af972f05764725ae430f99d8cf87"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74165,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"51746bc22063ea123bdaf49f988e38eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832262,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2Mn0.Z29aydrtqcfRRL3gijAm4fHQC5WIcV8B5N2JyRvUEvM"} gateway-1 | {"time_local":"24/Mar/2025:16:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2358","request_time":"2.799","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":"d8bdbdd64a940eabf2751e3eac0999f7"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/df912831-6325-401e-80df-b22cf10014b4' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67e175a3-128c-48ef-81c9-0f3c40fef250","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.0442865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76b4dacf-3abf-47bc-9ffa-8e3985d671fe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.04825} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/371a95eb-8832-4ad6-b4fa-d3728a771e36' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"8f1781cc-e22c-4ee5-9b97-aa66392674c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.0822532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bd3e3ac-5fef-4523-a438-6a238049983c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.0825078} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"9a11195d-26db-4835-960c-774d2f2c6ad5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.0862658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"51746bc22063ea123bdaf49f988e38eb"} gateway-1 | {"time_local":"24/Mar/2025:16:04:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51746bc22063ea123bdaf49f988e38eb"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"51746bc22063ea123bdaf49f988e38eb","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2M30.BdF4l6qXMLvXDvKd_So4haxMhZ_VorDuBKWGHf2Gwrc","level":"info","message":"auth send jwt","requestID":"b29ad317f934ad16945144b204e25968"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b29ad317f934ad16945144b204e25968","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b29ad317f934ad16945144b204e25968"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:23Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.695141,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b29ad317f934ad16945144b204e25968","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832263,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2M30.BdF4l6qXMLvXDvKd_So4haxMhZ_VorDuBKWGHf2Gwrc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49051647-5cdc-4d1a-b243-b37f1d4c93e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.1341832} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39a91fd2-8f7a-4533-af55-b163121f0a7a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.1385744} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"46bde3bc-91d3-44c9-b0e3-d85af81fec86","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.1719089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e5d2562-ea34-41e2-ad73-858cff21dc4f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.172234} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","responseTime":36,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.171884384Z"}]},"request_id":"0cffee4a-a8e7-4b5b-b268-9317ba4c2d31","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832263.1764605} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b29ad317f934ad16945144b204e25968"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"b29ad317f934ad16945144b204e25968","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b29ad317f934ad16945144b204e25968"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NH0.ZCWd1XEIKLo9zBlUS8z0by-wVsaLUSgO1ACDH4haFUA","level":"info","message":"auth send jwt","requestID":"fdfa5c3866c9309c1cffec867eb637ea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fdfa5c3866c9309c1cffec867eb637ea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fdfa5c3866c9309c1cffec867eb637ea"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.78749,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fdfa5c3866c9309c1cffec867eb637ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832264,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NH0.ZCWd1XEIKLo9zBlUS8z0by-wVsaLUSgO1ACDH4haFUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"fdfa5c3866c9309c1cffec867eb637ea","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"9746cca0-3ef0-489b-ac60-08f5b235f4d0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832264.0858474} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fdfa5c3866c9309c1cffec867eb637ea","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"441d5463-a2cd-45ca-80b9-47c82577d7c9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832264.0904818} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fdfa5c3866c9309c1cffec867eb637ea","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"112c1ec9-ca27-490f-8b62-5d33828dba94","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832264.1292965} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"fdfa5c3866c9309c1cffec867eb637ea","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fdfa5c3866c9309c1cffec867eb637ea"} gateway-1 | {"time_local":"24/Mar/2025:16:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"fdfa5c3866c9309c1cffec867eb637ea"} device-1 | {"level":"info","message":"PATCH /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b 200 77ms","method":"PATCH","requestID":"fdfa5c3866c9309c1cffec867eb637ea","responseTime":77,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NH0.ZCWd1XEIKLo9zBlUS8z0by-wVsaLUSgO1ACDH4haFUA","level":"info","message":"auth send jwt","requestID":"345751fd67f95b608d06c330faf7c898"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"345751fd67f95b608d06c330faf7c898","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"345751fd67f95b608d06c330faf7c898"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:24Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643119,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"345751fd67f95b608d06c330faf7c898","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832264,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NH0.ZCWd1XEIKLo9zBlUS8z0by-wVsaLUSgO1ACDH4haFUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"345751fd67f95b608d06c330faf7c898","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"345751fd67f95b608d06c330faf7c898"} gateway-1 | {"time_local":"24/Mar/2025:16:04:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/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.14","requestID":"345751fd67f95b608d06c330faf7c898"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/websocket 200 16ms","method":"POST","requestID":"345751fd67f95b608d06c330faf7c898","responseTime":16,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e7c21743c6dc4222ee0eb505b3c6cacb","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":"e7c21743c6dc4222ee0eb505b3c6cacb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/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":"e7c21743c6dc4222ee0eb505b3c6cacb"} device-1 | {"level":"info","message":"OPTIONS /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/websocket 200 1ms","method":"OPTIONS","requestID":"e7c21743c6dc4222ee0eb505b3c6cacb","responseTime":1,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"a7b717ea9d704ee75dc2219caa8a52ba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a7b717ea9d704ee75dc2219caa8a52ba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a7b717ea9d704ee75dc2219caa8a52ba"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254157,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a7b717ea9d704ee75dc2219caa8a52ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7b717ea9d704ee75dc2219caa8a52ba","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a7b717ea9d704ee75dc2219caa8a52ba"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/websocket 200 28ms","method":"POST","requestID":"a7b717ea9d704ee75dc2219caa8a52ba","responseTime":28,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","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":"a7b717ea9d704ee75dc2219caa8a52ba"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"5bab9c91d5d96d28c8890d5afb275556"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5bab9c91d5d96d28c8890d5afb275556","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5bab9c91d5d96d28c8890d5afb275556"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.826617,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5bab9c91d5d96d28c8890d5afb275556","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5bab9c91d5d96d28c8890d5afb275556","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"9dba3ed7-3e7c-457e-a18a-6718619f2eb4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.5424292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5bab9c91d5d96d28c8890d5afb275556","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5bab9c91d5d96d28c8890d5afb275556"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? 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":"5bab9c91d5d96d28c8890d5afb275556"} device-1 | {"level":"info","message":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? 200 13ms","method":"GET","requestID":"5bab9c91d5d96d28c8890d5afb275556","responseTime":13,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"af21c05d176faded755e5aee13325ee3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af21c05d176faded755e5aee13325ee3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af21c05d176faded755e5aee13325ee3"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717185,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"af21c05d176faded755e5aee13325ee3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af21c05d176faded755e5aee13325ee3","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.171884384Z"}]},"request_id":"bcca6974-2695-49cc-9bc0-0cf4706f216f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.5578494} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af21c05d176faded755e5aee13325ee3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af21c05d176faded755e5aee13325ee3"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? 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":"af21c05d176faded755e5aee13325ee3"} device-1 | {"level":"info","message":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? 200 10ms","method":"GET","requestID":"af21c05d176faded755e5aee13325ee3","responseTime":10,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.712847,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7697d7cb92bc2d7cbc5ad47a07009f18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to run experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to book experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully booked experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a870f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.094283,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a870f870-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a870f870-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939705,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82","responseTime":16,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"a1ef56d0-4c8a-4277-a97e-0f496a26a602","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.6229403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a870f870-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.171884384Z"}]},"request_id":"ee96c7a3-b7f4-4085-a52d-6a094019a5a1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.6235979} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a870f870-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? 200 36ms","method":"GET","requestID":"a870f870-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? 200 35ms","method":"GET","requestID":"a8711f80-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Setting up experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully set up experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a883e430-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully running experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:53576","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89231,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886208,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.643272,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"f8cd093e-b75d-4761-99f3-8b44255c7fbe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7238073} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae4e6711-7b7d-45c2-8374-556237f28e0f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7240386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a883e430-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","rebac_allow":false,"scope_allow":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":"a883e430-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.171884384Z"}]},"request_id":"40d24edc-c10f-4e16-9d29-7fd73fcc7b65","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7250926} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? 200 19ms","method":"GET","requestID":"a8836f00-08c9-11f0-a656-5b8621d22e82","responseTime":19,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a883e430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling 200 16ms","method":"POST","requestID":"a883e430-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? 200 18ms","method":"GET","requestID":"a883bd20-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5680406d-8f84-482d-bf73-389e07a43977#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5680406d-8f84-482d-bf73-389e07a43977","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"886b43f6-c905-456e-be82-5444b5bc5973","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7326968} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22b6b5b0-5e6a-479f-82e9-9df410ff37ea","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7329445} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a886ca60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8871880-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18","responseTime":202,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b581d933-44d2-4d4c-b172-de2cb37417f0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7673879} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed8b1d5a-fd8b-4e00-810e-0825e8da3275","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7674174} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286103,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8871880-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","rebac_allow":false,"scope_allow":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":"a8871880-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.921619,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a886ca60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"a886ca60-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"fd19a67e4621a48ae510d3e44776a3be"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd19a67e4621a48ae510d3e44776a3be","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fd19a67e4621a48ae510d3e44776a3be"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8871880-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling 200 40ms","method":"POST","requestID":"a8871880-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a886ca60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling 200 43ms","method":"POST","requestID":"a886ca60-08c9-11f0-a656-5b8621d22e82","responseTime":43,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90498,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"fd19a67e4621a48ae510d3e44776a3be","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a88d8120-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd19a67e4621a48ae510d3e44776a3be","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fd60452-f226-42ce-95d3-b1190a2b8301","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.7834036} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.082230738Z"}]},"request_id":"ee685f3d-d745-48b1-a1ec-c651fd52c4ce","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.783583} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"fd19a67e4621a48ae510d3e44776a3be","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.8982,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a88d8120-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"a88d8120-08c9-11f0-a656-5b8621d22e82","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fd19a67e4621a48ae510d3e44776a3be"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd19a67e4621a48ae510d3e44776a3be"} device-1 | {"level":"info","message":"GET /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b? 200 39ms","method":"GET","requestID":"fd19a67e4621a48ae510d3e44776a3be","responseTime":39,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a88d8120-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling 200 36ms","method":"POST","requestID":"a88d8120-08c9-11f0-a656-5b8621d22e82","responseTime":36,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Building connection plan","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} 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":"577c7b2b-6bbc-4d91-a37e-e6c21a51bb82"},{"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":"fae4a9ea-a6a2-46a2-a616-69b183c9662e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cedc29f9-2111-4b40-b580-e4b812df6887"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} 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/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"},{"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/f150697d-2d48-4cf7-97a8-2d26ee2f4916"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA","level":"info","message":"auth send jwt","requestID":"1ab41a7c45c2851a254412c9349b3d9d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ab41a7c45c2851a254412c9349b3d9d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1ab41a7c45c2851a254412c9349b3d9d"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.350239,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8937490-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79576,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1ab41a7c45c2851a254412c9349b3d9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832265,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2NX0.7elaX4chMH3A-XpIPSWHNruZU9AHsa_9mhvj6x5dwvA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1ab41a7c45c2851a254412c9349b3d9d","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:23.171884384Z"}]},"request_id":"b00192a5-2417-48d9-8138-b9058c8e267e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.825273} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ab41a7c45c2851a254412c9349b3d9d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1ab41a7c45c2851a254412c9349b3d9d"} gateway-1 | {"time_local":"24/Mar/2025:16:04:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ab41a7c45c2851a254412c9349b3d9d"} device-1 | {"level":"info","message":"GET /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916? 200 10ms","method":"GET","requestID":"1ab41a7c45c2851a254412c9349b3d9d","responseTime":10,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"a2c518a2-3204-4bb8-a279-75af85915f5c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.8292725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6825c9dd-d9ab-47cc-8d32-1c6060a0b646","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.8296661} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761'","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761'","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 54ms","method":"POST","requestID":"a8937490-08c9-11f0-a656-5b8621d22e82","responseTime":54,"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":"a8937490-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","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/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7697d7cb92bc2d7cbc5ad47a07009f18"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8a3a130-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6cde1246-c5bb-45fa-bf73-72fd6dbfa9a8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.9275582} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.828045,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8a3a130-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a8a3a130-08c9-11f0-a656-5b8621d22e82","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8a3a130-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling 200 32ms","method":"POST","requestID":"a8a3a130-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling"} device-1 | {"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8a8f860-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:25Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4679649739387597619 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:FhgZ\r\na=ice-pwd:mjiRmh7ieVAq33tykSgwzfaC\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1E:37:42:AC:14:E8:BF:49:41:05:0A:66:01:70:B8:D4:C3:DA:A3:EB:FA:F1:90:6A:5E:3C:C3:90:40:B0:88:6F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0206de0-75f6-44ed-83a2-44b475ccaaf9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832265.9634078} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.831125,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a8a8f860-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","rebac_allow":false,"scope_allow":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":"a8a8f860-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8a8f860-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling 200 9ms","method":"POST","requestID":"a8a8f860-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling"} device-1 | {"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"c4ec07ca-bf32-4f51-be0a-b847a3559761","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/c4ec07ca-bf32-4f51-be0a-b847a3559761' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ec07ca-bf32-4f51-be0a-b847a3559761","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cd67a9916c98f2ee6d99b4000c0a71ee","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":"cd67a9916c98f2ee6d99b4000c0a71ee","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":"connecting","url":"http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"},{"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/f150697d-2d48-4cf7-97a8-2d26ee2f4916"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"}}},"level":"info","message":"received a callback","requestID":"cd67a9916c98f2ee6d99b4000c0a71ee"} device-1 | {"content":{"candidate":"candidate:2814806610 1 udp 2113937151 cb401edd-e6d4-4291-923e-86dcaffed536.local 45629 typ host generation 0 ufrag FhgZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cd67a9916c98f2ee6d99b4000c0a71ee","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"cd67a9916c98f2ee6d99b4000c0a71ee"} device-1 | {"device":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"c4ec07ca-bf32-4f51-be0a-b847a3559761","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"c4ec07ca-bf32-4f51-be0a-b847a3559761","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/c4ec07ca-bf32-4f51-be0a-b847a3559761' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ec07ca-bf32-4f51-be0a-b847a3559761","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19bade772c1427d68cd3cdf1dea5c3b0","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":"19bade772c1427d68cd3cdf1dea5c3b0","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/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"},{"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/f150697d-2d48-4cf7-97a8-2d26ee2f4916"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"}}},"level":"info","message":"received a callback","requestID":"19bade772c1427d68cd3cdf1dea5c3b0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a9d913f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ec07ca-bf32-4f51-be0a-b847a3559761","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4da977fb-c900-4b24-a4f9-3014c6324dd9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832267.9556088} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.261753,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9d913f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","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":"a9d913f0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a9d913f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761 200 8ms","method":"GET","requestID":"a9d913f0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"19bade772c1427d68cd3cdf1dea5c3b0","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"19bade772c1427d68cd3cdf1dea5c3b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9dc6f50-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a975712-e6f1-4635-ae6f-b435b2920ffc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832267.9778564} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.386572,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9dc6f50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","rebac_allow":false,"scope_allow":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":"a9dc6f50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9dc6f50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling 200 8ms","method":"POST","requestID":"a9dc6f50-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9ddf5f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dca682bc-1d04-4071-851c-3e60cb5d748a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832267.9870129} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175533,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9ddf5f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","rebac_allow":false,"scope_allow":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":"a9ddf5f0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9ddf5f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling 200 7ms","method":"POST","requestID":"a9ddf5f0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE","level":"info","message":"auth send jwt","requestID":"aeb718829f593a6fc36381aadade3127"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aeb718829f593a6fc36381aadade3127","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5680406d-8f84-482d-bf73-389e07a43977","requestID":"aeb718829f593a6fc36381aadade3127"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.749127,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aeb718829f593a6fc36381aadade3127","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832268,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aeb718829f593a6fc36381aadade3127","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5680406d-8f84-482d-bf73-389e07a43977","requestID":"aeb718829f593a6fc36381aadade3127"} experiment-1 | {"level":"info","message":"GET /experiments/5680406d-8f84-482d-bf73-389e07a43977 200 32ms","method":"GET","requestID":"aeb718829f593a6fc36381aadade3127","responseTime":32,"status":200,"url":"/experiments/5680406d-8f84-482d-bf73-389e07a43977"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5680406d-8f84-482d-bf73-389e07a43977 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aeb718829f593a6fc36381aadade3127"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE","level":"info","message":"auth send jwt","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5680406d-8f84-482d-bf73-389e07a43977","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.00546,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"2e4d62cd1509725a0f8f32bfefb9cd53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832268,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Attempting to finish experiment","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.773703,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832268,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761","device":"f150697d-2d48-4cf7-97a8-2d26ee2f4916","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/c4ec07ca-bf32-4f51-be0a-b847a3559761' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ec07ca-bf32-4f51-be0a-b847a3559761","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ec07ca-bf32-4f51-be0a-b847a3559761': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ec07ca-bf32-4f51-be0a-b847a3559761","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"88110914-ec1d-45e5-a88d-ff31871e72ed","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.122982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bc6a656-fcae-4818-99c5-d82a377b2b4a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.1231241} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"096dd47a4111f215043d9a594511a110","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":"096dd47a4111f215043d9a594511a110","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7d0bf8027a6129045ee7b9c33882724","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":"connected","url":"http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"},{"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/f150697d-2d48-4cf7-97a8-2d26ee2f4916"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"}}},"level":"info","message":"received a callback","requestID":"096dd47a4111f215043d9a594511a110"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7d0bf8027a6129045ee7b9c33882724","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":"connected","url":"http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b"},{"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/f150697d-2d48-4cf7-97a8-2d26ee2f4916"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"}}},"level":"info","message":"received a callback","requestID":"b7d0bf8027a6129045ee7b9c33882724"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761 204 83ms","method":"DELETE","requestID":"a9edfb80-08c9-11f0-a656-5b8621d22e82","responseTime":83,"status":204,"url":"/peerconnections/c4ec07ca-bf32-4f51-be0a-b847a3559761"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5680406d-8f84-482d-bf73-389e07a43977"},"level":"info","message":"Successfully finished experiment","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa00e740-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db2e9aeb-6f19-455a-b4ef-43ab1aefa786","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.2158291} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454402,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aa00e740-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b","object_type":"device","rebac_allow":false,"scope_allow":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":"aa00e740-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa00e740-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling 200 8ms","method":"POST","requestID":"aa00e740-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa0246d0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5680406d-8f84-482d-bf73-389e07a43977': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5680406d-8f84-482d-bf73-389e07a43977","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"85acb3a6-26d2-4980-9d46-aaf1975ed66f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.2225928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d03ecfdd-1146-4cd8-89b5-9238b2cb90b1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.2229614} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff150697d-2d48-4cf7-97a8-2d26ee2f4916","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28f16cac-6679-4d16-9435-a89e5b8e1f6f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.2270722} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.058066,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aa0246d0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916","object_type":"device","rebac_allow":false,"scope_allow":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":"aa0246d0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa0246d0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling 200 9ms","method":"POST","requestID":"aa0246d0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5680406d-8f84-482d-bf73-389e07a43977","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5680406d-8f84-482d-bf73-389e07a43977 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":"2e4d62cd1509725a0f8f32bfefb9cd53"} experiment-1 | {"level":"info","message":"DELETE /experiments/5680406d-8f84-482d-bf73-389e07a43977 204 198ms","method":"DELETE","requestID":"2e4d62cd1509725a0f8f32bfefb9cd53","responseTime":198,"status":204,"url":"/experiments/5680406d-8f84-482d-bf73-389e07a43977"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"4.122","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"f1c0f1300a5e91c4aa54e7e277a2a31c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"096dd47a4111f215043d9a594511a110","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"096dd47a4111f215043d9a594511a110"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"b7d0bf8027a6129045ee7b9c33882724","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7d0bf8027a6129045ee7b9c33882724"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE","level":"info","message":"auth send jwt","requestID":"6fe2a09e014aa8762d014180c79e717b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fe2a09e014aa8762d014180c79e717b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6fe2a09e014aa8762d014180c79e717b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2358","request_time":"2.770","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":"8baaf4f94a010c472957025143583556"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.908738,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"6fe2a09e014aa8762d014180c79e717b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832268,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","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/20eb4a5b-8947-4622-b9d8-5d2abcc8d40b' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"56091a26-6cd8-4b62-b24c-1295c3534f16","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.304311} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a01106b-6757-4860-9684-62a8928a3487","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.309174} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f150697d-2d48-4cf7-97a8-2d26ee2f4916' closed"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"890cda1e-205e-4570-8ba9-bb3c1bf8021e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.31888} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f0dc362-e885-401d-835d-93fe0aa7bf53","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.319027} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"dfc31ec6-13ba-4207-b37c-a310dacf18c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.3231874} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6fe2a09e014aa8762d014180c79e717b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +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":"6fe2a09e014aa8762d014180c79e717b"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"6fe2a09e014aa8762d014180c79e717b","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE","level":"info","message":"auth send jwt","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:28Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.749498,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832268,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OH0.eoP9u5e51G9e6n03chQlI3szI9i82QqJ80c1F1Xa-UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":27,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b561161c-51c6-46d5-a7ce-b3ad6a45fcc9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.3668256} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"950967a5-4462-4846-b05d-44ca0de67f98","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.3708684} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"bb1e702a-a5b5-440f-a864-13fba4417a2e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.401772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f22a8780-d67a-42d3-b2c0-c4b4664b77c8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.4018724} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":34,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"bd1c41dc-9378-4a1e-898d-86bb76ec48f5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832268.4067917} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476"} gateway-1 | {"time_local":"24/Mar/2025:16:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"def5bca4ce3bb84dfdce5c6fb8b24476","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"4fa3133fdda20c30587060f47eba0fda"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fa3133fdda20c30587060f47eba0fda","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4fa3133fdda20c30587060f47eba0fda"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816232,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"544454f81a8aefe932775d1dcd770273"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"544454f81a8aefe932775d1dcd770273","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4fa3133fdda20c30587060f47eba0fda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4fa3133fdda20c30587060f47eba0fda","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"544454f81a8aefe932775d1dcd770273"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872449,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"544454f81a8aefe932775d1dcd770273","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"544454f81a8aefe932775d1dcd770273","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"dfaf6a70-caaa-4492-870e-fefd3261c6b6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.2742293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4fa3133fdda20c30587060f47eba0fda","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"48c366a6-613a-418f-8970-de82c3f28008","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.276382} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"544454f81a8aefe932775d1dcd770273","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6001a88-935b-4021-a37f-f098a96d96d2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.2776833} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"4fa3133fdda20c30587060f47eba0fda","responseTime":2,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88290576-c276-4651-8868-518b7333ff28","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.2806513} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"544454f81a8aefe932775d1dcd770273","responseTime":2,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"d5b420ce-67b4-40fc-8fef-7acc3721b7ae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.3205588} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4fa3133fdda20c30587060f47eba0fda","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4fa3133fdda20c30587060f47eba0fda"} device-1 | {"level":"info","message":"PATCH /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5 200 58ms","method":"PATCH","requestID":"4fa3133fdda20c30587060f47eba0fda","responseTime":58,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"4fa3133fdda20c30587060f47eba0fda"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"a62a35fd002fdbb5809aa1a2e4be0334"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a62a35fd002fdbb5809aa1a2e4be0334","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a62a35fd002fdbb5809aa1a2e4be0334"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"09c23428-d9a2-4024-9992-c300ae3ea9c7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.3291452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"544454f81a8aefe932775d1dcd770273","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65455,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"544454f81a8aefe932775d1dcd770273"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a62a35fd002fdbb5809aa1a2e4be0334","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a62a35fd002fdbb5809aa1a2e4be0334","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"PATCH /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08 200 62ms","method":"PATCH","requestID":"544454f81a8aefe932775d1dcd770273","responseTime":62,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.066","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"544454f81a8aefe932775d1dcd770273"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"c21cc91360199bf457d2414a407e2e4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c21cc91360199bf457d2414a407e2e4c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c21cc91360199bf457d2414a407e2e4c"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596824,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c21cc91360199bf457d2414a407e2e4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"c21cc91360199bf457d2414a407e2e4c","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a62a35fd002fdbb5809aa1a2e4be0334"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/websocket 200 42ms","method":"POST","requestID":"a62a35fd002fdbb5809aa1a2e4be0334","responseTime":42,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"a62a35fd002fdbb5809aa1a2e4be0334"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c21cc91360199bf457d2414a407e2e4c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"c21cc91360199bf457d2414a407e2e4c"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/websocket 200 43ms","method":"POST","requestID":"c21cc91360199bf457d2414a407e2e4c","responseTime":43,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"9ae2a8d94bd138321911917e2e7bcb43"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ae2a8d94bd138321911917e2e7bcb43","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ae2a8d94bd138321911917e2e7bcb43"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651664,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9ae2a8d94bd138321911917e2e7bcb43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9ae2a8d94bd138321911917e2e7bcb43","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"aa141aea-5441-4278-9e89-c3be5512289f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.4339373} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9ae2a8d94bd138321911917e2e7bcb43","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ae2a8d94bd138321911917e2e7bcb43"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ae2a8d94bd138321911917e2e7bcb43"} device-1 | {"level":"info","message":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? 200 8ms","method":"GET","requestID":"9ae2a8d94bd138321911917e2e7bcb43","responseTime":8,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"d271d744f42baa81e90ebb988ce89fb9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d271d744f42baa81e90ebb988ce89fb9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d271d744f42baa81e90ebb988ce89fb9"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749482,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d271d744f42baa81e90ebb988ce89fb9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d271d744f42baa81e90ebb988ce89fb9","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"712a5805-8e07-4c7f-a3a2-029e56685fc4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.468882} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d271d744f42baa81e90ebb988ce89fb9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d271d744f42baa81e90ebb988ce89fb9"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d271d744f42baa81e90ebb988ce89fb9"} device-1 | {"level":"info","message":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? 200 10ms","method":"GET","requestID":"d271d744f42baa81e90ebb988ce89fb9","responseTime":10,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"30351ebf94c9a6a0efdbd7505860fd22","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.656962,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"30351ebf94c9a6a0efdbd7505860fd22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"30351ebf94c9a6a0efdbd7505860fd22","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to run experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to book experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully booked experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? 200 11ms","method":"GET","requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? 200 12ms","method":"GET","requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Setting up experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606655,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.4669,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"ba782785-a922-41fb-ab99-a070e25dcbcb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.541927} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aacac6f0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"0a7b4b07-c57a-4b0b-ba6e-a64108b42ace","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.5427725} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aacac6f1-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully set up experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aad30450-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714581,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully running experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596615,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1b4a987-a268-4d3c-bedb-134ae4e44f6e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.5941029} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392869,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad30450-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","rebac_allow":false,"scope_allow":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":"aad30450-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"cca748cd-dc4c-4230-af2b-f321efc7c4f8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.5961092} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"7504699d-ae6d-4f5e-b206-5a8de3290084","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.598136} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aad30450-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling 200 10ms","method":"POST","requestID":"aad30450-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aad50020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? 200 15ms","method":"GET","requestID":"aad2dd40-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca94761-90d1-4d7d-988f-4a06c48da2b8#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca94761-90d1-4d7d-988f-4a06c48da2b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"50abbcfd-0c7c-4346-98b8-f16b0368cf84","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6038706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"226d8335-24fe-49ab-85bf-1264641db16c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.604109} device-1 | {"level":"info","message":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? 200 18ms","method":"GET","requestID":"aad2b630-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08?"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"30351ebf94c9a6a0efdbd7505860fd22","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aad59c60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f1820c5-68dc-430f-9c23-655d19d3c09e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.607378} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.676299,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad50020-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","rebac_allow":false,"scope_allow":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":"aad50020-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8989799d-af5c-4076-9e8f-7b01e08c37a0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.610735} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.573266,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"level":"info","message":"POST /experiments? 201 135ms","method":"POST","requestID":"30351ebf94c9a6a0efdbd7505860fd22","responseTime":135,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad59c60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","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 succeeded","requestID":"aad50020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling 200 10ms","method":"POST","requestID":"aad50020-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aad59c60-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aad59c60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling 200 9ms","method":"POST","requestID":"aad59c60-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aad74a10-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78754,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"cba5e319cbc65d7a87dcd4ac567ab99e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae2d70cb-b181-4623-8072-4b56bb0404f2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6213195} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.588044,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad74a10-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","rebac_allow":false,"scope_allow":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":"aad74a10-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.318849442Z"}]},"request_id":"66435949-87f8-4ad0-b776-642a06c053dd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6236632} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aad74a10-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Building connection plan","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} 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":"1262d928-39da-4b6c-9d0b-9484518b9342"},{"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":"022501da-9d6f-4b34-a792-104c9ac27658"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"326deaba-ed3c-471a-be56-d3fc31516052"}]},"level":"info","message":"Built pairwise service configurations","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} 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/4b1657dc-d4aa-4c94-9c83-a34359bbec08"},{"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/9a4960c5-7124-4d09-81df-bc03b1491dd5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling 200 9ms","method":"POST","requestID":"aad74a10-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 19ms","method":"POST","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e","responseTime":19,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.782362,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? 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":"cba5e319cbc65d7a87dcd4ac567ab99e"} device-1 | {"level":"info","message":"GET /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08? 200 28ms","method":"GET","requestID":"cba5e319cbc65d7a87dcd4ac567ab99e","responseTime":28,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4","level":"info","message":"auth send jwt","requestID":"a37a7afdeeb944dd9cbe0f25e21da899"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a37a7afdeeb944dd9cbe0f25e21da899","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a37a7afdeeb944dd9cbe0f25e21da899"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63842,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a37a7afdeeb944dd9cbe0f25e21da899","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832269,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI2OX0.gQOeY50wgs1zI4P6Y70CEXoZaeVp-QErRr8HAhp3cY4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a37a7afdeeb944dd9cbe0f25e21da899","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"d5780635-4792-40f5-9832-42026587b34f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6521125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c78efb4-8160-42f2-8321-ae139c5362d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6524432} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:28.401739976Z"}]},"request_id":"dbcc4928-a57c-4da4-abe6-0edc96d05a54","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.6556385} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a37a7afdeeb944dd9cbe0f25e21da899","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee'","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee'","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 69ms","method":"POST","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82","responseTime":69,"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":"a37a7afdeeb944dd9cbe0f25e21da899"} device-1 | {"level":"info","message":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? 200 49ms","method":"GET","requestID":"a37a7afdeeb944dd9cbe0f25e21da899","responseTime":49,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a37a7afdeeb944dd9cbe0f25e21da899"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"aad91ed0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"30351ebf94c9a6a0efdbd7505860fd22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aaebe380-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47bee6ef-de71-40ac-bafa-d462c9dc5676","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.7559085} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36673,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aaebe380-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","rebac_allow":false,"scope_allow":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":"aaebe380-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aaebe380-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling 200 7ms","method":"POST","requestID":"aaebe380-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aaed4310-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c4e4084-a6dd-4651-92e5-cdbc3e840f51","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832269.7649786} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477979,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"aaed4310-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","rebac_allow":false,"scope_allow":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":"aaed4310-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aaed4310-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling 200 32ms","method":"POST","requestID":"aaed4310-08c9-11f0-a656-5b8621d22e82","responseTime":32,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling"} device-1 | {"device":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/488afc55-0409-4dce-9d25-07c2c9dfe2ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"31726d60f5cfe8bb387cc5a297988300","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":"31726d60f5cfe8bb387cc5a297988300","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":"connecting","url":"http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08"},{"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/9a4960c5-7124-4d09-81df-bc03b1491dd5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"}}},"level":"info","message":"received a callback","requestID":"31726d60f5cfe8bb387cc5a297988300"} device-1 | {"device":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"31726d60f5cfe8bb387cc5a297988300","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:31 +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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"31726d60f5cfe8bb387cc5a297988300"} device-1 | {"device":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","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/488afc55-0409-4dce-9d25-07c2c9dfe2ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bc08545c5e5cd4510fd35ed8a05e04c5","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":"bc08545c5e5cd4510fd35ed8a05e04c5","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/4b1657dc-d4aa-4c94-9c83-a34359bbec08"},{"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/9a4960c5-7124-4d09-81df-bc03b1491dd5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"}}},"level":"info","message":"received a callback","requestID":"bc08545c5e5cd4510fd35ed8a05e04c5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ac237920-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488afc55-0409-4dce-9d25-07c2c9dfe2ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4818bd85-5916-43d6-852a-9770d8de7fcf","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.7978222} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.283811,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac237920-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee","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":"ac237920-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ac237920-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee 200 7ms","method":"GET","requestID":"ac237920-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"bc08545c5e5cd4510fd35ed8a05e04c5","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:31 +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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc08545c5e5cd4510fd35ed8a05e04c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac26fb90-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1b71498-c9d8-4df6-ba36-a89a586bcd77","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.820696} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241496,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac26fb90-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","rebac_allow":false,"scope_allow":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":"ac26fb90-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac26fb90-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling 200 7ms","method":"POST","requestID":"ac26fb90-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac283410-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"daddf140-2594-419d-9326-4d2d14ef6f79","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.8300219} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817464,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac283410-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","rebac_allow":false,"scope_allow":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":"ac283410-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac283410-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling 200 33ms","method":"POST","requestID":"ac283410-08c9-11f0-a656-5b8621d22e82","responseTime":33,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3MX0.hXNL6KhrdyeAY0j9qTmkfP53Ikdt2UItV0PfHoB51hA","level":"info","message":"auth send jwt","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.913575,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"550ac16b8a41d39e5ad9ddf32058bf9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832271,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3MX0.hXNL6KhrdyeAY0j9qTmkfP53Ikdt2UItV0PfHoB51hA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c"} experiment-1 | {"level":"info","message":"GET /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8 200 10ms","method":"GET","requestID":"550ac16b8a41d39e5ad9ddf32058bf9c","responseTime":10,"status":200,"url":"/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3MX0.hXNL6KhrdyeAY0j9qTmkfP53Ikdt2UItV0PfHoB51hA","level":"info","message":"auth send jwt","requestID":"ac61bad25a004d19a4b7609f18635f95"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac61bad25a004d19a4b7609f18635f95","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","requestID":"ac61bad25a004d19a4b7609f18635f95"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108234,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac61bad25a004d19a4b7609f18635f95","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832271,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3MX0.hXNL6KhrdyeAY0j9qTmkfP53Ikdt2UItV0PfHoB51hA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ac61bad25a004d19a4b7609f18635f95","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Attempting to finish experiment","requestID":"ac61bad25a004d19a4b7609f18635f95"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.683252,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832271,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3MX0.hXNL6KhrdyeAY0j9qTmkfP53Ikdt2UItV0PfHoB51hA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"9a4960c5-7124-4d09-81df-bc03b1491dd5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/488afc55-0409-4dce-9d25-07c2c9dfe2ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"4b1657dc-d4aa-4c94-9c83-a34359bbec08","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca370bf64566fa1c603affd679adbb18","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":"ca370bf64566fa1c603affd679adbb18","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2c1d54fe87293582a6770803f6c37986","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":"2c1d54fe87293582a6770803f6c37986","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/4b1657dc-d4aa-4c94-9c83-a34359bbec08"},{"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/9a4960c5-7124-4d09-81df-bc03b1491dd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"}}},"level":"info","message":"received a callback","requestID":"ca370bf64566fa1c603affd679adbb18"} 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":"connected","url":"http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08"},{"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/9a4960c5-7124-4d09-81df-bc03b1491dd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"}}},"level":"info","message":"received a callback","requestID":"2c1d54fe87293582a6770803f6c37986"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488afc55-0409-4dce-9d25-07c2c9dfe2ee': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F488afc55-0409-4dce-9d25-07c2c9dfe2ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"49f80db2-efd4-46a5-9d65-2337dc5bd8fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.9531834} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f9ef178-03be-4434-8790-960f3a41731e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.9534109} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"488afc55-0409-4dce-9d25-07c2c9dfe2ee","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee 204 46ms","method":"DELETE","requestID":"ac3887c0-08c9-11f0-a656-5b8621d22e82","responseTime":46,"status":204,"url":"/peerconnections/488afc55-0409-4dce-9d25-07c2c9dfe2ee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"},"level":"info","message":"Successfully finished experiment","requestID":"ac61bad25a004d19a4b7609f18635f95"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac41af80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b1657dc-d4aa-4c94-9c83-a34359bbec08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ceb5b48a-84c9-42a5-af0f-64250a714d7d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832271.996888} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.62121,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac41af80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08","object_type":"device","rebac_allow":false,"scope_allow":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":"ac41af80-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac41af80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling 200 10ms","method":"POST","requestID":"ac41af80-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac438440-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca94761-90d1-4d7d-988f-4a06c48da2b8': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdca94761-90d1-4d7d-988f-4a06c48da2b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"ad2522c3-0aeb-4629-9cbc-f45c45d33dc5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.0056486} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a34b672-c09f-4f69-9f48-f0952e373e17","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.0056658} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ac61bad25a004d19a4b7609f18635f95","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4960c5-7124-4d09-81df-bc03b1491dd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b51a043-1882-4232-b741-4e1bdae755f6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.0098093} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.77783,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ac438440-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5","object_type":"device","rebac_allow":false,"scope_allow":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":"ac438440-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac438440-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling 200 11ms","method":"POST","requestID":"ac438440-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/9a4960c5-7124-4d09-81df-bc03b1491dd5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8","requestID":"ac61bad25a004d19a4b7609f18635f95"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac61bad25a004d19a4b7609f18635f95"} experiment-1 | {"level":"info","message":"DELETE /experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8 204 137ms","method":"DELETE","requestID":"ac61bad25a004d19a4b7609f18635f95","responseTime":137,"status":204,"url":"/experiments/dca94761-90d1-4d7d-988f-4a06c48da2b8"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.678","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"47d14a79e8df707fe80bd1871ff8dc9c"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.687","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"602a7d569f926af609b7998875a1f4e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"ca370bf64566fa1c603affd679adbb18","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +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.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca370bf64566fa1c603affd679adbb18"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"2c1d54fe87293582a6770803f6c37986","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +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.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c1d54fe87293582a6770803f6c37986"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Mn0.PJkDdRuxkvuqfBaKyjVxwN1G-EnAuqHoiqbrHeHCrNs","level":"info","message":"auth send jwt","requestID":"d7ae8046e3db61e33ee20e3917571a43"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7ae8046e3db61e33ee20e3917571a43","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/9a4960c5-7124-4d09-81df-bc03b1491dd5' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"d7ae8046e3db61e33ee20e3917571a43"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811431,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d7ae8046e3db61e33ee20e3917571a43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832272,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Mn0.PJkDdRuxkvuqfBaKyjVxwN1G-EnAuqHoiqbrHeHCrNs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4b1657dc-d4aa-4c94-9c83-a34359bbec08' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e68e058a-31c9-4d9b-8cdc-c6872de5b965","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.1060658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a364e64-4a5e-4d7f-a7e6-b22e6de270d0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.1110733} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"dba7ecaa-f84e-42da-bab9-0d88afa666e4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.1454408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16be0237-0a15-4270-b1be-c1015cf73395","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.146364} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","responseTime":37,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"3178d43a-36ad-4f6c-b2b4-c0f74d853e9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.1508386} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d7ae8046e3db61e33ee20e3917571a43"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7ae8046e3db61e33ee20e3917571a43"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"d7ae8046e3db61e33ee20e3917571a43","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Mn0.PJkDdRuxkvuqfBaKyjVxwN1G-EnAuqHoiqbrHeHCrNs","level":"info","message":"auth send jwt","requestID":"a2a9f77bb988c958830480f666061f65"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2a9f77bb988c958830480f666061f65","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a2a9f77bb988c958830480f666061f65"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.736306,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"a2a9f77bb988c958830480f666061f65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832272,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Mn0.PJkDdRuxkvuqfBaKyjVxwN1G-EnAuqHoiqbrHeHCrNs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6de502fc-eeea-4dba-9f33-3b49adf93f3d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.1968706} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e155f6f3-5ca1-4203-927b-9f1f2f97e37c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.201568} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7d798f5d-94e1-455d-a5fa-30085ba92872","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.2130005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ede5bbf9-1646-4945-b0d2-448dcbae5af2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.2132912} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"0b25a54f-e291-4164-8949-54271a77b2d6","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832272.2413514} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a2a9f77bb988c958830480f666061f65"} gateway-1 | {"time_local":"24/Mar/2025:16:04:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2a9f77bb988c958830480f666061f65"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"a2a9f77bb988c958830480f666061f65","responseTime":85,"status":201,"url":"/devices?"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","responseTime":25,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"969da079a5f270fbdf581d1acf10a669"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"969da079a5f270fbdf581d1acf10a669","responseTime":25,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"969da079a5f270fbdf581d1acf10a669"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06978,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005245,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"969da079a5f270fbdf581d1acf10a669","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"969da079a5f270fbdf581d1acf10a669","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"09d83147-c310-412a-b532-92d4a8949b0b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.1153262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"1eb379d2-3173-482e-94ad-fa0151f16320","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.1159253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"969da079a5f270fbdf581d1acf10a669","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca0c9919-9df0-40e0-9325-77767a9a4bb0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.119505} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","responseTime":2,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b12e9a9-bcc8-4cc8-9637-5e6693a3f3e7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.120422} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"969da079a5f270fbdf581d1acf10a669","responseTime":2,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"09581060-1bc9-4c70-bc2a-28d94f018c4e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.1229165} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"969da079a5f270fbdf581d1acf10a669","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"969da079a5f270fbdf581d1acf10a669"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"969da079a5f270fbdf581d1acf10a669"} device-1 | {"level":"info","message":"PATCH /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66 200 17ms","method":"PATCH","requestID":"969da079a5f270fbdf581d1acf10a669","responseTime":17,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"e2e0804f0267964df1156659ccf854da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2e0804f0267964df1156659ccf854da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e2e0804f0267964df1156659ccf854da"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621178,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e2e0804f0267964df1156659ccf854da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2e0804f0267964df1156659ccf854da","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"246da401-21fd-4a38-907d-db2dce7ae488","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.1624894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30"} device-1 | {"level":"info","message":"PATCH /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d 200 59ms","method":"PATCH","requestID":"7e9a1c3e165a9fa25b6e00e4ed7bcf30","responseTime":59,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"06261f38a5cd4c791430bcea1dcec2cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06261f38a5cd4c791430bcea1dcec2cb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"06261f38a5cd4c791430bcea1dcec2cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e2e0804f0267964df1156659ccf854da"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"e2e0804f0267964df1156659ccf854da"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/websocket 200 42ms","method":"POST","requestID":"e2e0804f0267964df1156659ccf854da","responseTime":42,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/websocket"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656922,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"06261f38a5cd4c791430bcea1dcec2cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"06261f38a5cd4c791430bcea1dcec2cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"06261f38a5cd4c791430bcea1dcec2cb"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/websocket 200 39ms","method":"POST","requestID":"06261f38a5cd4c791430bcea1dcec2cb","responseTime":39,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"06261f38a5cd4c791430bcea1dcec2cb"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"4702d1c3a3bd429b5f585b22d2cee42b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4702d1c3a3bd429b5f585b22d2cee42b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4702d1c3a3bd429b5f585b22d2cee42b"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685549,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4702d1c3a3bd429b5f585b22d2cee42b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"4702d1c3a3bd429b5f585b22d2cee42b","responseTime":23,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"c84da4f1-09d0-41d7-a8a9-bced9938432e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.2537773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4702d1c3a3bd429b5f585b22d2cee42b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4702d1c3a3bd429b5f585b22d2cee42b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4702d1c3a3bd429b5f585b22d2cee42b"} device-1 | {"level":"info","message":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? 200 29ms","method":"GET","requestID":"4702d1c3a3bd429b5f585b22d2cee42b","responseTime":29,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"48ef90bbfca238e4b55b0c5ce66626f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48ef90bbfca238e4b55b0c5ce66626f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48ef90bbfca238e4b55b0c5ce66626f7"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805624,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"48ef90bbfca238e4b55b0c5ce66626f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"48ef90bbfca238e4b55b0c5ce66626f7","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"94ea2ff3-0230-4045-9096-766f1c32924c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.267069} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"48ef90bbfca238e4b55b0c5ce66626f7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48ef90bbfca238e4b55b0c5ce66626f7"} device-1 | {"level":"info","message":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 200 11ms","method":"GET","requestID":"48ef90bbfca238e4b55b0c5ce66626f7","responseTime":11,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 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":"48ef90bbfca238e4b55b0c5ce66626f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"c1d7cce87c8709842478af9d0b108cbd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1d7cce87c8709842478af9d0b108cbd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c1d7cce87c8709842478af9d0b108cbd"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.744281,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c1d7cce87c8709842478af9d0b108cbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c1d7cce87c8709842478af9d0b108cbd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to run experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to book experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully booked experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad130940-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626641,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.541799,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad130940-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ad130940-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"a2a43a35-cf5d-414b-93d3-b4185508be13","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.3933213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"4b972d64-5d81-475d-92e4-72132b4c7842","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.393381} authorization-1 | {"level":"info","message":"POST /relations/query 200 21ms","method":"POST","requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82","responseTime":21,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 20ms","method":"POST","requestID":"ad130940-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? 200 34ms","method":"GET","requestID":"ad12e230-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad130940-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 200 34ms","method":"GET","requestID":"ad130940-08c9-11f0-a656-5b8621d22e82","responseTime":34,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Setting up experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully set up experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad1ddeb0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully running experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40310","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718108,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.513715,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"194354da-fef6-4181-9885-d7261137b1ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4414937} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"c1d9b2ca-de75-4888-9920-0cc1c6f016d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4422357} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8b42a20-3629-4bc2-a03f-b308d2775758","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4432683} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.80651,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad1ddeb0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","rebac_allow":false,"scope_allow":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":"ad1ddeb0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? 200 14ms","method":"GET","requestID":"ad1d9090-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 200 14ms","method":"GET","requestID":"ad1db7a0-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad1ddeb0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling 200 15ms","method":"POST","requestID":"ad1ddeb0-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F162cec2b-0620-4905-856a-552cd9e560ac#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F162cec2b-0620-4905-856a-552cd9e560ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"67bb89b3-401e-4cf1-befc-d11b5b27806e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4500952} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad2028a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46553aec-a73c-4b17-8a9e-410bdf88c251","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.451043} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad2076c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c1d7cce87c8709842478af9d0b108cbd","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab19ecf9-9d7c-451d-8fc5-d88746c4484c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.456552} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87fac400-adb7-455b-b108-3aef39078559","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4569733} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.391057,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.357102,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad2028a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","rebac_allow":false,"scope_allow":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":"ad2028a0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad2076c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","rebac_allow":false,"scope_allow":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":"ad2076c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c1d7cce87c8709842478af9d0b108cbd"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"c1d7cce87c8709842478af9d0b108cbd","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad2028a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling 200 13ms","method":"POST","requestID":"ad2028a0-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad2076c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling 200 12ms","method":"POST","requestID":"ad2076c0-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"68597ff440c79f3326e968e712c77ebe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68597ff440c79f3326e968e712c77ebe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad2531b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"68597ff440c79f3326e968e712c77ebe"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754633,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"68597ff440c79f3326e968e712c77ebe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"68597ff440c79f3326e968e712c77ebe","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.428348,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"faba6e88-154a-4d3a-8610-bb4f8ce31329","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4871802} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad2531b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","rebac_allow":false,"scope_allow":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":"ad2531b0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.145207908Z"}]},"request_id":"df484f11-cffe-4afa-a794-0c105a4de9f7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.4906392} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad2531b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"68597ff440c79f3326e968e712c77ebe","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling 200 8ms","method":"POST","requestID":"ad2531b0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Building connection plan","requestID":"c1d7cce87c8709842478af9d0b108cbd"} 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":"206f6380-92a7-4e5d-9cea-f7483faabbce"},{"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":"cbdd4f19-590b-46b7-b7cb-3a37afd7130d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d34066d9-31eb-4394-8688-fd72439641a6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c1d7cce87c8709842478af9d0b108cbd"} 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/0fa1bb02-cb60-4409-a3a0-6640223b303d"},{"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/905d6a74-4a01-489d-ac07-8cd994dd0f66"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c1d7cce87c8709842478af9d0b108cbd"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"68597ff440c79f3326e968e712c77ebe"} device-1 | {"level":"info","message":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? 200 11ms","method":"GET","requestID":"68597ff440c79f3326e968e712c77ebe","responseTime":11,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68597ff440c79f3326e968e712c77ebe"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.694376,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0","level":"info","message":"auth send jwt","requestID":"3d98801bf12003788309cb9091258778"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3d98801bf12003788309cb9091258778","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d98801bf12003788309cb9091258778"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684532,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"3d98801bf12003788309cb9091258778","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832273,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3M30.YVCHcYtqlTnuqW9ek0aufNVQ1FViLXOzU8VdhHXR8U0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3d98801bf12003788309cb9091258778","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"2b2fff60-8fe4-4da5-800f-d004166ce4ca","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.5057166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fe271a8-1755-4268-b8df-521fd8bbffa4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.505851} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:32.212956523Z"}]},"request_id":"9449c7bf-ad2a-4944-851a-dd1549b7741c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.5065868} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d98801bf12003788309cb9091258778","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d98801bf12003788309cb9091258778"} device-1 | {"level":"info","message":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 200 11ms","method":"GET","requestID":"3d98801bf12003788309cb9091258778","responseTime":11,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66? 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":"3d98801bf12003788309cb9091258778"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320'","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320'","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ad26df60-08c9-11f0-a656-5b8621d22e82"} 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":"ad26df60-08c9-11f0-a656-5b8621d22e82","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":"ad26df60-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c1d7cce87c8709842478af9d0b108cbd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad35ac70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a72bbde6-ca89-4aad-b729-daca4e5dc1dd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.5953615} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.868189,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad35ac70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","rebac_allow":false,"scope_allow":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":"ad35ac70-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad35ac70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling 200 8ms","method":"POST","requestID":"ad35ac70-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad370c00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f76a0866-71d4-4325-9e75-42df23d25319","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832273.6040382} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.194585,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ad370c00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","rebac_allow":false,"scope_allow":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":"ad370c00-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad370c00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling 200 7ms","method":"POST","requestID":"ad370c00-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling"} device-1 | {"device":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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/89f03838-6188-4c8c-9d2f-b69cf9281320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1c29ac8639f0e7a22d3064ac9ceeac43","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":"1c29ac8639f0e7a22d3064ac9ceeac43","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/0fa1bb02-cb60-4409-a3a0-6640223b303d"},{"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/905d6a74-4a01-489d-ac07-8cd994dd0f66"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"}}},"level":"info","message":"received a callback","requestID":"1c29ac8639f0e7a22d3064ac9ceeac43"} device-1 | {"device":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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 4ms","method":"POST","requestID":"1c29ac8639f0e7a22d3064ac9ceeac43","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +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":"1c29ac8639f0e7a22d3064ac9ceeac43"} device-1 | {"device":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"89f03838-6188-4c8c-9d2f-b69cf9281320","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/89f03838-6188-4c8c-9d2f-b69cf9281320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d4713fbed4e3cfee62da8b487a78b0e","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":"8d4713fbed4e3cfee62da8b487a78b0e","responseTime":0,"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/0fa1bb02-cb60-4409-a3a0-6640223b303d"},{"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/905d6a74-4a01-489d-ac07-8cd994dd0f66"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"}}},"level":"info","message":"received a callback","requestID":"8d4713fbed4e3cfee62da8b487a78b0e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ae6d4210-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89f03838-6188-4c8c-9d2f-b69cf9281320","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9a7cc0b-074f-46d9-a453-cf2400e8a784","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.638115} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.43628,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae6d4210-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320","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":"ae6d4210-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ae6d4210-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320 200 9ms","method":"GET","requestID":"ae6d4210-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"8d4713fbed4e3cfee62da8b487a78b0e","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d4713fbed4e3cfee62da8b487a78b0e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae709d70-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f30f6da6-74ee-444a-9cdb-f8b0a5427481","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.6610925} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.206054,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae709d70-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","rebac_allow":false,"scope_allow":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":"ae709d70-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae709d70-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling 200 12ms","method":"POST","requestID":"ae709d70-08c9-11f0-a656-5b8621d22e82","responseTime":12,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae729940-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c48fab25-2d54-47a8-be26-6a2e622fce59","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.6720712} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236389,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae729940-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","rebac_allow":false,"scope_allow":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":"ae729940-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae729940-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling 200 7ms","method":"POST","requestID":"ae729940-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920","level":"info","message":"auth send jwt","requestID":"610f9ab35f4895f738b372ddecbb90d5"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"610f9ab35f4895f738b372ddecbb90d5","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/162cec2b-0620-4905-856a-552cd9e560ac","requestID":"610f9ab35f4895f738b372ddecbb90d5"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.889047,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"610f9ab35f4895f738b372ddecbb90d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832275,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"610f9ab35f4895f738b372ddecbb90d5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/162cec2b-0620-4905-856a-552cd9e560ac","requestID":"610f9ab35f4895f738b372ddecbb90d5"} experiment-1 | {"level":"info","message":"GET /experiments/162cec2b-0620-4905-856a-552cd9e560ac 200 10ms","method":"GET","requestID":"610f9ab35f4895f738b372ddecbb90d5","responseTime":10,"status":200,"url":"/experiments/162cec2b-0620-4905-856a-552cd9e560ac"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/162cec2b-0620-4905-856a-552cd9e560ac HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"610f9ab35f4895f738b372ddecbb90d5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920","level":"info","message":"auth send jwt","requestID":"4156c67e376195d6e32a70afd7103af1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4156c67e376195d6e32a70afd7103af1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/162cec2b-0620-4905-856a-552cd9e560ac","requestID":"4156c67e376195d6e32a70afd7103af1"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.873029,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"4156c67e376195d6e32a70afd7103af1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832275,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4156c67e376195d6e32a70afd7103af1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Attempting to finish experiment","requestID":"4156c67e376195d6e32a70afd7103af1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.916588,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832275,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89f03838-6188-4c8c-9d2f-b69cf9281320': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89f03838-6188-4c8c-9d2f-b69cf9281320","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"e13bce92-ec50-4e71-ba78-e73f872edc3b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.787102} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cfa81ba-2ef8-4e3e-bb37-a8a92ca5cace","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.787827} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"device":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"0fa1bb02-cb60-4409-a3a0-6640223b303d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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":"905d6a74-4a01-489d-ac07-8cd994dd0f66","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":50,"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/89f03838-6188-4c8c-9d2f-b69cf9281320' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28346a5247c4e9e328f26e2318b2c9c0","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":"28346a5247c4e9e328f26e2318b2c9c0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e685373e50ed34b1c8914d715b073443","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":"e685373e50ed34b1c8914d715b073443","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":"closed","url":"http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d"},{"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/905d6a74-4a01-489d-ac07-8cd994dd0f66"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"}}},"level":"info","message":"received a callback","requestID":"28346a5247c4e9e328f26e2318b2c9c0"} 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/0fa1bb02-cb60-4409-a3a0-6640223b303d"},{"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/905d6a74-4a01-489d-ac07-8cd994dd0f66"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"}}},"level":"info","message":"received a callback","requestID":"e685373e50ed34b1c8914d715b073443"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320 204 48ms","method":"DELETE","requestID":"ae829ed0-08c9-11f0-a656-5b8621d22e82","responseTime":48,"status":204,"url":"/peerconnections/89f03838-6188-4c8c-9d2f-b69cf9281320"} device-1 | {"data":{"peerconnection":"89f03838-6188-4c8c-9d2f-b69cf9281320","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/162cec2b-0620-4905-856a-552cd9e560ac"},"level":"info","message":"Successfully finished experiment","requestID":"4156c67e376195d6e32a70afd7103af1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae8cb0f0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fa1bb02-cb60-4409-a3a0-6640223b303d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ff0f786-d275-4ba3-8da8-983ebc068e08","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.8441956} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.339293,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae8cb0f0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d","object_type":"device","rebac_allow":false,"scope_allow":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":"ae8cb0f0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae8cb0f0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling 200 10ms","method":"POST","requestID":"ae8cb0f0-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/0fa1bb02-cb60-4409-a3a0-6640223b303d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae8e85b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F162cec2b-0620-4905-856a-552cd9e560ac': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F162cec2b-0620-4905-856a-552cd9e560ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"e0aed6b6-7a6a-4bb1-b74e-3d3de6543172","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.8528535} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91c248ed-829c-4c03-9381-7e676703d348","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.8532205} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"4156c67e376195d6e32a70afd7103af1","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F905d6a74-4a01-489d-ac07-8cd994dd0f66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb40f3bf-9957-4634-9aaf-f54efbbde5d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.8555017} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.310834,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"ae8e85b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66","object_type":"device","rebac_allow":false,"scope_allow":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":"ae8e85b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae8e85b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling 200 9ms","method":"POST","requestID":"ae8e85b0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/162cec2b-0620-4905-856a-552cd9e560ac","requestID":"4156c67e376195d6e32a70afd7103af1"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/162cec2b-0620-4905-856a-552cd9e560ac 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":"4156c67e376195d6e32a70afd7103af1"} experiment-1 | {"level":"info","message":"DELETE /experiments/162cec2b-0620-4905-856a-552cd9e560ac 204 183ms","method":"DELETE","requestID":"4156c67e376195d6e32a70afd7103af1","responseTime":183,"status":204,"url":"/experiments/162cec2b-0620-4905-856a-552cd9e560ac"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2365","request_time":"2.738","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"73c2c7ef39fa549a977045770f698614"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2363","request_time":"2.774","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.14","requestID":"670d639702835432839c040b89adfba2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"28346a5247c4e9e328f26e2318b2c9c0","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"28346a5247c4e9e328f26e2318b2c9c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"e685373e50ed34b1c8914d715b073443","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:35 +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":"e685373e50ed34b1c8914d715b073443"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920","level":"info","message":"auth send jwt","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/905d6a74-4a01-489d-ac07-8cd994dd0f66' closed"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.78363,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832275,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3NX0.9AdElUSHjfAtYaVxsOK3fW1jPZKGWKbjYxZ2YiBg920"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","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/0fa1bb02-cb60-4409-a3a0-6640223b303d' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"606acac7-9a7b-4397-b0af-4529ba9adeb0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.9937336} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cd175ba-bd6d-4ecd-9b7c-5651ad0d9e64","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832275.9980779} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ea580062-e6b8-4958-a625-29a41bc547ae","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.033725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8e7d611-597e-44eb-b985-663f1ff726d4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.0339587} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","responseTime":39,"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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.033695299Z"}]},"request_id":"81635df6-1760-401d-aa83-377aa0700e7c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.044352} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16"} gateway-1 | {"time_local":"24/Mar/2025:16:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"c1a00c6b2bc41520d5f88c0d4b001c16","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Nn0.Aeg4XDCjKCeKHTZxGTDGdhzqUHp-dTjh2-J6SYy6r8k","level":"info","message":"auth send jwt","requestID":"8481982251dea2d9a0435fca984dc71f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8481982251dea2d9a0435fca984dc71f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8481982251dea2d9a0435fca984dc71f"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:36Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.011615,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"8481982251dea2d9a0435fca984dc71f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832276,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3Nn0.Aeg4XDCjKCeKHTZxGTDGdhzqUHp-dTjh2-J6SYy6r8k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"494dc18a-0172-4729-b94d-d1f2753f233d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.1371205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b6864ed-20a2-4367-b709-245491af1a01","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.1437345} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"ae53538c-ded6-468a-a471-aabed7292efd","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.153186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2765dade-da00-4230-8fc4-955e513153a9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.1533449} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.153153665Z"}]},"request_id":"2bda5b4a-02f6-4f86-8a6e-a459530b4529","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832276.1796956} authorization-1 | {"level":"info","message":"POST /relations/query 200 25ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","responseTime":25,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8481982251dea2d9a0435fca984dc71f"} gateway-1 | {"time_local":"24/Mar/2025:16:04:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8481982251dea2d9a0435fca984dc71f"} device-1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"8481982251dea2d9a0435fca984dc71f","responseTime":100,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ebe51898cf242445b006a84d14ad5325","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":"ebe51898cf242445b006a84d14ad5325","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/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":"ebe51898cf242445b006a84d14ad5325"} device-1 | {"level":"info","message":"OPTIONS /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/websocket 200 1ms","method":"OPTIONS","requestID":"ebe51898cf242445b006a84d14ad5325","responseTime":1,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.61654,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1d9ccfeef76ae968b953bf98edc5ab7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3990a47751b918fdc24f04616e2780ad","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":"3990a47751b918fdc24f04616e2780ad","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","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":"3990a47751b918fdc24f04616e2780ad"} device-1 | {"level":"info","message":"OPTIONS /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket 200 0ms","method":"OPTIONS","requestID":"3990a47751b918fdc24f04616e2780ad","responseTime":0,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"9d8702de6a11ff6602587be569e18cd2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d8702de6a11ff6602587be569e18cd2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9d8702de6a11ff6602587be569e18cd2"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656045,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"9d8702de6a11ff6602587be569e18cd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d8702de6a11ff6602587be569e18cd2","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/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":"1d9ccfeef76ae968b953bf98edc5ab7b"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/websocket 200 36ms","method":"POST","requestID":"1d9ccfeef76ae968b953bf98edc5ab7b","responseTime":36,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9d8702de6a11ff6602587be569e18cd2"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket 200 16ms","method":"POST","requestID":"9d8702de6a11ff6602587be569e18cd2","responseTime":16,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","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":"9d8702de6a11ff6602587be569e18cd2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"e52ee6f19c2ec6688beb6283af891bd8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e52ee6f19c2ec6688beb6283af891bd8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e52ee6f19c2ec6688beb6283af891bd8"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645531,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"e52ee6f19c2ec6688beb6283af891bd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e52ee6f19c2ec6688beb6283af891bd8","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.033695299Z"}]},"request_id":"39bac390-1f1a-47d7-b737-0a995db4a5c5","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.524893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e52ee6f19c2ec6688beb6283af891bd8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e52ee6f19c2ec6688beb6283af891bd8"} device-1 | {"level":"info","message":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? 200 8ms","method":"GET","requestID":"e52ee6f19c2ec6688beb6283af891bd8","responseTime":8,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e52ee6f19c2ec6688beb6283af891bd8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"51b21cec62774ae7493733163205d2ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51b21cec62774ae7493733163205d2ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"51b21cec62774ae7493733163205d2ce"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143878,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"51b21cec62774ae7493733163205d2ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"51b21cec62774ae7493733163205d2ce","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.153153665Z"}]},"request_id":"7814c9e5-303b-4567-9fb7-e38ecb577be0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.538315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51b21cec62774ae7493733163205d2ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"51b21cec62774ae7493733163205d2ce"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? 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":"51b21cec62774ae7493733163205d2ce"} device-1 | {"level":"info","message":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? 200 10ms","method":"GET","requestID":"51b21cec62774ae7493733163205d2ce","responseTime":10,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"81d8c57be679064f1972c47527484857"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81d8c57be679064f1972c47527484857","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"81d8c57be679064f1972c47527484857"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.95925,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"81d8c57be679064f1972c47527484857","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81d8c57be679064f1972c47527484857","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to run experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to book experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully booked experiment","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666537,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725421,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.033695299Z"}]},"request_id":"234b355d-c530-4240-b6c3-756cb45eebec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.5821955} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.153153665Z"}]},"request_id":"32db4b4f-a959-4fad-be4b-5203eb4bd8ef","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.5879693} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? 200 15ms","method":"GET","requestID":"b02e04e0-08c9-11f0-a656-5b8621d22e82","responseTime":15,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? 200 18ms","method":"GET","requestID":"b02e2bf0-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Setting up experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully locked booking for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to update booking for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully updated booking for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully set up experiment","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully running experiment","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b03de360-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889649,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602461,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487554,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20798513-039d-4cb8-a70b-47d07bf6875a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.684803} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b03de360-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","rebac_allow":false,"scope_allow":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":"b03de360-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.033695299Z"}]},"request_id":"6a22a024-ba05-44b7-9975-aadcd68b4e69","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.685802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.153153665Z"}]},"request_id":"b56cfbb8-3864-4d62-a9f3-120e3c878247","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.6868231} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b03de360-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling 200 14ms","method":"POST","requestID":"b03de360-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? 200 17ms","method":"GET","requestID":"b03d9540-08c9-11f0-a656-5b8621d22e82","responseTime":17,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F794d338d-e106-4b0f-bc92-3a2dd5e464fa#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F794d338d-e106-4b0f-bc92-3a2dd5e464fa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"78e6e2a0-4f85-4e16-b38c-163a1adc72e7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.6930363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a71cda5f-1245-4079-a3b6-a151e89ca17e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.6934555} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0405460-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"81d8c57be679064f1972c47527484857","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? 200 20ms","method":"GET","requestID":"b03dbc50-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8099b41f-4459-4bb7-9246-86634fd18c71","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.6989536} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.653185,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0405460-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b0405460-08c9-11f0-a656-5b8621d22e82","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"81d8c57be679064f1972c47527484857","responseTime":180,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0453660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0405460-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling 200 35ms","method":"POST","requestID":"b0405460-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"d4b7895cc82b4889053ccf6f5b1a8203"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4b7895cc82b4889053ccf6f5b1a8203","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4b7895cc82b4889053ccf6f5b1a8203"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38315afe-39cd-4552-953d-7abf9cb57576","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.7310712} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799769,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0453660-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","rebac_allow":false,"scope_allow":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":"b0453660-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645511,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0453660-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling 200 8ms","method":"POST","requestID":"b0453660-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d4b7895cc82b4889053ccf6f5b1a8203","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d4b7895cc82b4889053ccf6f5b1a8203","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b046bd00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.033695299Z"}]},"request_id":"a4ab0fbc-6006-49c3-9e75-c36608ef1308","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.7378957} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d4b7895cc82b4889053ccf6f5b1a8203","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc407dc4-f621-4c5d-a7a0-adf0143e6fbb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.7407074} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4b7895cc82b4889053ccf6f5b1a8203"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4b7895cc82b4889053ccf6f5b1a8203"} device-1 | {"level":"info","message":"GET /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4? 200 11ms","method":"GET","requestID":"d4b7895cc82b4889053ccf6f5b1a8203","responseTime":11,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4?"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.100544,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b046bd00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","rebac_allow":false,"scope_allow":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":"b046bd00-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b046bd00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling 200 8ms","method":"POST","requestID":"b046bd00-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU","level":"info","message":"auth send jwt","requestID":"425722ba96e23234dbe67531ac6cfba0"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"425722ba96e23234dbe67531ac6cfba0","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Building connection plan","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1706817e-76ad-4234-a7d3-4d284052bdb4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a204709b-7693-42de-844d-b2e754ae815c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"839dde3a-35fe-4392-be24-3e27f85c20c9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"81d8c57be679064f1972c47527484857"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"425722ba96e23234dbe67531ac6cfba0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590241,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"425722ba96e23234dbe67531ac6cfba0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"425722ba96e23234dbe67531ac6cfba0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.59818,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832278,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OH0.ABx84Gvq8LilYMjtWGWUGWImEOr1oZaL57tY3wlOKYU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:36.153153665Z"}]},"request_id":"69e4180d-23e7-45e0-8b1d-6fa852f892a4","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.776518} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"425722ba96e23234dbe67531ac6cfba0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"425722ba96e23234dbe67531ac6cfba0"} gateway-1 | {"time_local":"24/Mar/2025:16:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"425722ba96e23234dbe67531ac6cfba0"} device-1 | {"level":"info","message":"GET /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe? 200 11ms","method":"GET","requestID":"425722ba96e23234dbe67531ac6cfba0","responseTime":11,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"7ea247ef-fa41-4e5f-9e1a-c61833e833f8","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.7818766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54223fa0-b6e2-4e17-ae2a-38fd3d23bcf0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.7820165} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0'","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0'","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b04c1430-08c9-11f0-a656-5b8621d22e82"} 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":"b04c1430-08c9-11f0-a656-5b8621d22e82","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":"b04c1430-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","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","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","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/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"81d8c57be679064f1972c47527484857"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b05710b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce59c6f2-ef91-4d3c-9542-ad2a071f06ee","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.867547} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308736,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b05710b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","rebac_allow":false,"scope_allow":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":"b05710b0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b05710b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling 200 28ms","method":"POST","requestID":"b05710b0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b05b7d80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"577d4445-d0bd-462d-8c10-e020fef37275","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832278.8762174} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.150526,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b05b7d80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","rebac_allow":false,"scope_allow":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":"b05b7d80-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b05b7d80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling 200 7ms","method":"POST","requestID":"b05b7d80-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling"} device-1 | {"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 3612520521912834462 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:NdvV\r\na=ice-pwd:eY7Q20DynBQPmffuxvjge0hO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 53:38:5F:12:C5:A4:19:DD:EA:20:75:64:61:35:D4:5E:17:65:13:F8:E8:75:BB:C1:7D:B1:33:63:E4:44:42:C6\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4857620321634959717 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:oVVT\r\na=ice-pwd:K7VOGjOSP7WAFaD3Bj6Y6n0n\r\na=ice-options:trickle\r\na=fingerprint:sha-256 07:9F:8A:5B:24:67:56:7B:7F:AD:FF:41:A7:FF:6F:53:65:C7:CB:73:58:29:C9:75:36:9A:FC:2F:50:C2:2D:72\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3284825138 1 udp 2113937151 4d4f8a19-2b13-4f7c-b11c-6ebb86e88d0d.local 35248 typ host generation 0 ufrag oVVT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","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/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4'"} device-1 | {"content":{"candidate":"candidate:3004385825 1 udp 2113937151 0e2b55cc-886a-4804-8302-5dd6590b48d6.local 42385 typ host generation 0 ufrag NdvV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","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/0a56faf3-c61b-46cf-ade3-d34707c5d6a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1766fdd5f95a37c751dcbffa90d95985","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":"1766fdd5f95a37c751dcbffa90d95985","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/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"}}},"level":"info","message":"received a callback","requestID":"1766fdd5f95a37c751dcbffa90d95985"} device-1 | {"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"1766fdd5f95a37c751dcbffa90d95985","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"1766fdd5f95a37c751dcbffa90d95985"} device-1 | {"device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","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/0a56faf3-c61b-46cf-ade3-d34707c5d6a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b01fdc631725874054677867fdc65b40","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":"b01fdc631725874054677867fdc65b40","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/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"}}},"level":"info","message":"received a callback","requestID":"b01fdc631725874054677867fdc65b40"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b0787b60-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a56faf3-c61b-46cf-ade3-d34707c5d6a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e2cd08a-3d6b-4801-97d2-83775e8abec1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.0664032} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.483787,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0787b60-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","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":"b0787b60-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b0787b60-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0 200 7ms","method":"GET","requestID":"b0787b60-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg","level":"info","message":"auth send jwt","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.675754,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832279,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"b01fdc631725874054677867fdc65b40","responseTime":48,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b07f5930-08c9-11f0-a656-5b8621d22e82"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.072","http_referrer":"","http_user_agent":"node-fetch","requestID":"b01fdc631725874054677867fdc65b40"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"554afc51-ffab-4d11-bf96-0b9d5d3d30e0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.1115177} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.456937,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} gateway-1 | {"time_local":"24/Mar/2025:16:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d"} experiment-1 | {"level":"info","message":"GET /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa 200 35ms","method":"GET","requestID":"c68d3ff6040d59f0eda9d6662fb6dc2d","responseTime":35,"status":200,"url":"/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b07f5930-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","rebac_allow":false,"scope_allow":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":"b07f5930-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b07f5930-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling 200 9ms","method":"POST","requestID":"b07f5930-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg","level":"info","message":"auth send jwt","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5df0e3bfe917640f3c3c6e26ffec182a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b08106e0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.580344,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"5df0e3bfe917640f3c3c6e26ffec182a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832279,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5df0e3bfe917640f3c3c6e26ffec182a","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4951e26-3c33-4afb-a9a2-567d772d7f9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.1214435} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.023539,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b08106e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","rebac_allow":false,"scope_allow":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":"b08106e0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b08106e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling 200 7ms","method":"POST","requestID":"b08106e0-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Attempting to finish experiment","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b0826670-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.240809,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0826670-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832279,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b0826670-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","device":"493d98c0-6430-45f4-b7eb-1560e2a72ffe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0","device":"ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","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/0a56faf3-c61b-46cf-ade3-d34707c5d6a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79b3cde44d602ea876885c9ac9a317d3","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":"79b3cde44d602ea876885c9ac9a317d3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1cb8042845e14410f716d9514538ca1b","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/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"}}},"level":"info","message":"received a callback","requestID":"79b3cde44d602ea876885c9ac9a317d3"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1cb8042845e14410f716d9514538ca1b","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/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"}}},"level":"info","message":"received a callback","requestID":"1cb8042845e14410f716d9514538ca1b"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a56faf3-c61b-46cf-ade3-d34707c5d6a0': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a56faf3-c61b-46cf-ade3-d34707c5d6a0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"029cfb2d-c86f-437f-a1b7-cc692aefcd3b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.1693428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98e382e7-d8c0-4b79-93cc-5fb4496fff55","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.169481} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"b0826670-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"0a56faf3-c61b-46cf-ade3-d34707c5d6a0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b0826670-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0 204 92ms","method":"DELETE","requestID":"b0826670-08c9-11f0-a656-5b8621d22e82","responseTime":92,"status":204,"url":"/peerconnections/0a56faf3-c61b-46cf-ade3-d34707c5d6a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"},"level":"info","message":"Successfully finished experiment","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0929310-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07a67713-b57e-4eb6-a200-43a628348d1e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.2375588} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266865,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0929310-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4","object_type":"device","rebac_allow":false,"scope_allow":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":"b0929310-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F794d338d-e106-4b0f-bc92-3a2dd5e464fa': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F794d338d-e106-4b0f-bc92-3a2dd5e464fa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"857ba432-1d02-4431-89ad-545bfffa1c9e","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.2450616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91a67c4d-a42c-4d5b-9e0f-b0aa5c79ba29","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.2452843} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5df0e3bfe917640f3c3c6e26ffec182a","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0929310-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling 200 16ms","method":"POST","requestID":"b0929310-08c9-11f0-a656-5b8621d22e82","responseTime":16,"status":200,"url":"/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0955230-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F493d98c0-6430-45f4-b7eb-1560e2a72ffe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64c06e97-38b2-4362-955d-414e999f550a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.2549272} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.184991,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b0955230-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe","object_type":"device","rebac_allow":false,"scope_allow":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":"b0955230-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0955230-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling 200 8ms","method":"POST","requestID":"b0955230-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} gateway-1 | {"time_local":"24/Mar/2025:16:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5df0e3bfe917640f3c3c6e26ffec182a"} experiment-1 | {"level":"info","message":"DELETE /experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa 204 178ms","method":"DELETE","requestID":"5df0e3bfe917640f3c3c6e26ffec182a","responseTime":178,"status":204,"url":"/experiments/794d338d-e106-4b0f-bc92-3a2dd5e464fa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"79b3cde44d602ea876885c9ac9a317d3","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"79b3cde44d602ea876885c9ac9a317d3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"1cb8042845e14410f716d9514538ca1b","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"1cb8042845e14410f716d9514538ca1b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg","level":"info","message":"auth send jwt","requestID":"cdb722ec992cc1fc9bb804a688d04a27"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cdb722ec992cc1fc9bb804a688d04a27","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cdb722ec992cc1fc9bb804a688d04a27"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895561,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"cdb722ec992cc1fc9bb804a688d04a27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832279,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Mar/2025:16:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.817","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":"c66da33d1daff41a87c30823c6bb0949"} gateway-1 | {"time_local":"24/Mar/2025:16:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.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":"0f724b6c105081d522678091d05cb9ff"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec3d3ea5-ef80-46f3-a4b3-8c09c61bb3d4' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/493d98c0-6430-45f4-b7eb-1560e2a72ffe' 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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a0fabf64-8756-409c-9c2f-fd69e3746bb3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3225074} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e53dc3f-d79b-49a7-ab03-dec70461c27d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3343086} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"c38b2e71-409f-4150-9d14-9fc8a6d74a78","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3443425} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c0feaa9-e831-4afb-8b25-4bc0c17db00d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3445284} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.344310322Z"}]},"request_id":"8ef56fb8-f283-47eb-8bde-09af679d59e7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3476675} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cdb722ec992cc1fc9bb804a688d04a27"} gateway-1 | {"time_local":"24/Mar/2025:16:04:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cdb722ec992cc1fc9bb804a688d04a27"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"cdb722ec992cc1fc9bb804a688d04a27","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg","level":"info","message":"auth send jwt","requestID":"10e2dfbb423cd29d50ea79020145a9de"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10e2dfbb423cd29d50ea79020145a9de","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"10e2dfbb423cd29d50ea79020145a9de"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.671361,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"10e2dfbb423cd29d50ea79020145a9de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832279,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI3OX0.8ofaYYZCd3qggKVwFSfq8Z3TDUg6krKfh5wOpJFyPcg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ecd87808-de5a-455f-a32e-2ffd1c9dcc7d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3933766} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","responseTime":27,"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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b6e62a6-e4b4-40a3-97a4-0f5dbc611b77","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.3969188} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"34e1ac7f-0df8-4a55-9d6f-d649ae6d0b9f","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.4054024} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5412c9bd-8a2d-46ed-9624-14dc4bbdc0de","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.4055705} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"5212d6e5-1539-43a3-b0fa-1f494153bbec","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832279.408467} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"10e2dfbb423cd29d50ea79020145a9de"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"10e2dfbb423cd29d50ea79020145a9de","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10e2dfbb423cd29d50ea79020145a9de"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2958bdbf1d5a74265ab6b6e87a949eab","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":"2958bdbf1d5a74265ab6b6e87a949eab","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/websocket 200 1ms","method":"OPTIONS","requestID":"2958bdbf1d5a74265ab6b6e87a949eab","responseTime":1,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/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":"2958bdbf1d5a74265ab6b6e87a949eab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w","level":"info","message":"auth send jwt","requestID":"1be8fcaf223880479de241b794aba3bf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1be8fcaf223880479de241b794aba3bf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1be8fcaf223880479de241b794aba3bf"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256342,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"1be8fcaf223880479de241b794aba3bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1be8fcaf223880479de241b794aba3bf","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1be8fcaf223880479de241b794aba3bf"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/websocket 200 30ms","method":"POST","requestID":"1be8fcaf223880479de241b794aba3bf","responseTime":30,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/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":"1be8fcaf223880479de241b794aba3bf"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w","level":"info","message":"auth send jwt","requestID":"0acd8692c2994624fefbe6b412425d67"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0acd8692c2994624fefbe6b412425d67","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0acd8692c2994624fefbe6b412425d67"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654844,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0acd8692c2994624fefbe6b412425d67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0acd8692c2994624fefbe6b412425d67","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"9d5ac446-8829-4f39-a134-efac785de3fb","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.6833074} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0acd8692c2994624fefbe6b412425d67","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0acd8692c2994624fefbe6b412425d67"} gateway-1 | {"time_local":"24/Mar/2025:16:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0acd8692c2994624fefbe6b412425d67"} device-1 | {"level":"info","message":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? 200 9ms","method":"GET","requestID":"0acd8692c2994624fefbe6b412425d67","responseTime":9,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w","level":"info","message":"auth send jwt","requestID":"878db2a499e3cec75357973042895a30"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"878db2a499e3cec75357973042895a30","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"878db2a499e3cec75357973042895a30"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.959304,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"878db2a499e3cec75357973042895a30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"878db2a499e3cec75357973042895a30","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to run experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to book experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully booked experiment","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b211b900-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2120720-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689985,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b211b900-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b211b900-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.801251,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2120720-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b2120720-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb232393f-4a36-48db-bdf8-b0abbe62b6c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.344310322Z"}]},"request_id":"a220af72-1b8f-469b-9781-2da2ea8bba46","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.7535782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b211b900-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"7e8aa9c7-39ec-4a7d-b142-c419f64b1b9d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.754459} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b2120720-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b211b900-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3? 200 14ms","method":"GET","requestID":"b211b900-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2120720-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? 200 13ms","method":"GET","requestID":"b2120720-08c9-11f0-a656-5b8621d22e82","responseTime":13,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Setting up experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690842,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"e964b156-a218-4b3f-b2eb-1aac72cc2017","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.8161714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6eadf6cf-9000-4105-9f80-814d276c9378","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.8164117} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc' to 'http://localhost/callbacks/experiment'","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82"} authentication-1 | {"level":"info","message":"POST /token 201 14ms","method":"POST","requestID":"b2214960-08c9-11f0-8734-a748a20deb91","responseTime":14,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 69ms","method":"POST","requestID":"b2195a20-08c9-11f0-a656-5b8621d22e82","responseTime":69,"status":201,"url":"/devices/b232393f-4a36-48db-bdf8-b0abbe62b6c3?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully set up experiment","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b230b2b0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully running experiment","requestID":"878db2a499e3cec75357973042895a30"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58848","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.826412,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40304","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34579,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04: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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:41.816125322Z"}]},"request_id":"b4d141af-a7db-4233-8510-00db90a3c138","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.955042} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"51d25d78-2c50-45fa-90e4-11bfc643358d","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.9562004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6847f309-9dc9-4c52-88a7-21507f20280b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.9568748} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.893504,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b230b2b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","rebac_allow":false,"scope_allow":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":"b230b2b0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf612b90-5cb4-4b6b-a773-6084d976035d#owner@http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf612b90-5cb4-4b6b-a773-6084d976035d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"92748ba0-4674-4f3d-ba73-08df3268bd79","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.9603484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92b0db8b-8cd7-4c1d-b56a-1dfb4c8b26fc","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.9605322} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"878db2a499e3cec75357973042895a30","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc? 200 40ms","method":"GET","requestID":"b2303d80-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? 200 40ms","method":"GET","requestID":"b2308ba0-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e?"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 7f07905e-135a-4159-8751-1f6a9f8e07cc","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 7f07905e-135a-4159-8751-1f6a9f8e07cc\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/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"b230b2b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling 404 40ms","method":"POST","requestID":"b230b2b0-08c9-11f0-a656-5b8621d22e82","responseTime":40,"status":404,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 7f07905e-135a-4159-8751-1f6a9f8e07cc"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2374260-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d","user":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"878db2a499e3cec75357973042895a30"} gateway-1 | {"time_local":"24/Mar/2025:16:04:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.306","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"level":"info","message":"POST /experiments? 201 301ms","method":"POST","requestID":"878db2a499e3cec75357973042895a30","responseTime":301,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab2f6155-c790-4f47-8d2a-d0323951c6b1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832281.9944706} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.505843,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b2374260-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","rebac_allow":false,"scope_allow":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":"b2374260-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2374260-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling 200 8ms","method":"POST","requestID":"b2374260-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87264fa1d70eff87a13e82458178ec5d","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":"87264fa1d70eff87a13e82458178ec5d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Mar/2025:16:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/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":"87264fa1d70eff87a13e82458178ec5d"} device-1 | {"level":"info","message":"OPTIONS /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/websocket 200 1ms","method":"OPTIONS","requestID":"87264fa1d70eff87a13e82458178ec5d","responseTime":1,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkNwU19OWVJkSmd2Q3ppTTdjeE8tcEU4Qk5FblJjX0RSY1NCMWZuR3FKRnljdl9DNmhtblExMTF4ZWdvelAySXAxbGp2R3VNNWlqSnJBZWdEUnFIcUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.Jvnj8-Eu1l_Y596cG4uPMUC_l0WG9_Lkc3PlfFx3Qhs","level":"info","message":"auth send jwt","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284016,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"0cbd648a3b9d963cb91e1f8b35d25d47","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","payload":{"admin":true,"edgeToken":"CpS_NYRdJgvCziM7cxO-pE8BNEnRc_DRcSB1fnGqJFycv_C6hmnQ111xegozP2Ip1ljvGuM5ijJrAegDRqHqBA","iat":1742832284,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkNwU19OWVJkSmd2Q3ppTTdjeE8tcEU4Qk5FblJjX0RSY1NCMWZuR3FKRnljdl9DNmhtblExMTF4ZWdvelAySXAxbGp2R3VNNWlqSnJBZWdEUnFIcUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.Jvnj8-Eu1l_Y596cG4uPMUC_l0WG9_Lkc3PlfFx3Qhs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/websocket 200 39ms","method":"POST","requestID":"0cbd648a3b9d963cb91e1f8b35d25d47","responseTime":39,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/websocket"} gateway-1 | {"time_local":"24/Mar/2025:16:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","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":"0cbd648a3b9d963cb91e1f8b35d25d47"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f676f5cd349fef8e73556f7dcfd8aad0","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":"f676f5cd349fef8e73556f7dcfd8aad0","responseTime":1,"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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"f676f5cd349fef8e73556f7dcfd8aad0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.ytWfsHIehy1dX73-ev-2j3tSN3gfQiuvHs7wjzQdRxI","level":"info","message":"auth send jwt","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914768,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832284,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.ytWfsHIehy1dX73-ev-2j3tSN3gfQiuvHs7wjzQdRxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:41.816125322Z"}]},"request_id":"e10fb15f-3188-497a-9859-7704add114a3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832284.2195015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"f676f5cd349fef8e73556f7dcfd8aad0","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"f676f5cd349fef8e73556f7dcfd8aad0"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0"} gateway-1 | {"time_local":"24/Mar/2025:16:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc? 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":"d8163d4ce6b2d6fd22a87f738a8a16c0"} device-1 | {"level":"info","message":"GET /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc? 200 11ms","method":"GET","requestID":"d8163d4ce6b2d6fd22a87f738a8a16c0","responseTime":11,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.ytWfsHIehy1dX73-ev-2j3tSN3gfQiuvHs7wjzQdRxI","level":"info","message":"auth send jwt","requestID":"eb7e243063f3df28cf40ddc99c199a59"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb7e243063f3df28cf40ddc99c199a59","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb7e243063f3df28cf40ddc99c199a59"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648606,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"eb7e243063f3df28cf40ddc99c199a59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832284,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4NH0.ytWfsHIehy1dX73-ev-2j3tSN3gfQiuvHs7wjzQdRxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"eb7e243063f3df28cf40ddc99c199a59","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"bee70012-78d8-4fb4-809f-be59b4878e61","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832284.2328098} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb7e243063f3df28cf40ddc99c199a59","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb7e243063f3df28cf40ddc99c199a59"} gateway-1 | {"time_local":"24/Mar/2025:16:04:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb7e243063f3df28cf40ddc99c199a59"} device-1 | {"level":"info","message":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? 200 8ms","method":"GET","requestID":"eb7e243063f3df28cf40ddc99c199a59","responseTime":8,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b5328100-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271255,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353732,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5328100-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b5328100-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:41.816125322Z"}]},"request_id":"4dd515ff-5f03-4e6f-b896-8ce6b6d312e3","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.0032463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82","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:44148","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"timestamp":"2025-03-24T16:04:39.405379131Z"}]},"request_id":"d5c7ad5a-3e68-409b-a07f-fded6a81ad1c","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.00408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b5328100-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc? 200 18ms","method":"GET","requestID":"b53232e0-08c9-11f0-a656-5b8621d22e82","responseTime":18,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b5328100-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e? 200 17ms","method":"GET","requestID":"b5328100-08c9-11f0-a656-5b8621d22e82","responseTime":17,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5354020-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6586097e-4c8b-493b-82f9-d3a32bde567a","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.0157075} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.07591,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5354020-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","rebac_allow":false,"scope_allow":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":"b5354020-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5354020-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling 200 11ms","method":"POST","requestID":"b5354020-08c9-11f0-a656-5b8621d22e82","responseTime":11,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5373bf0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fca95b9-3e48-493f-a262-98145e836eb1","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.0284271} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.262571,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5373bf0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","rebac_allow":false,"scope_allow":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":"b5373bf0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5373bf0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling 200 9ms","method":"POST","requestID":"b5373bf0-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Building connection plan","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f7c30c6e-f1ea-44b5-a020-121bad915137"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6722da0c-5896-4e0e-8cf4-0325cf24c8ad"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"633127c0-4e87-49d0-9123-f7b00608a92e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"878db2a499e3cec75357973042895a30"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.673634,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832281,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4MX0.UKTx2tKRAfX0_fqm6NQIVJa1AuYyLwTC6r0heqAdu1w"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de'. 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]}},"raw_response":{},"request_id":"469b994f-c4df-4e8a-95fa-8ca21c7858b2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.0457332} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c51839be-6fa9-4a73-90e6-3faaea4a01fe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.0458386} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10'","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10'","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} 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":"b538e9a0-08c9-11f0-a656-5b8621d22e82","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":"b538e9a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","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 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","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} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"878db2a499e3cec75357973042895a30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b543e620-08c9-11f0-a656-5b8621d22e82"} device-1 | {"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cd7eebe-d23e-4ad0-984f-fa88c6b92204","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.1158557} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518042,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b543e620-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","rebac_allow":false,"scope_allow":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":"b543e620-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2789017335483726880 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:V+2U\r\na=ice-pwd:e+pQ1F/lTqzhqmGoodhr1sOv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1E:15:C0:14:8E:AE:CA:FE:EA:5B:85:D7:B7:8B:B8:1D:D4:DC:96:F5:EB:D1:C4:26:93:C3:DA:E6:D2:6F:8D:D6\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b543e620-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling 200 14ms","method":"POST","requestID":"b543e620-08c9-11f0-a656-5b8621d22e82","responseTime":14,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5467e30-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b9a818-60d6-4bda-b117-762b3c8bcef0","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.1275275} device-1 | {"content":{"sdp":"v=0\r\no=- 7097844303312525848 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:b5u3\r\na=ice-pwd:7UGNommngOoOOKJAZbp3Oe2u\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FA:57:A5:CC:D3:F0:B4:F3:B9:A9:48:8F:36:45:D1:D2:08:43:51:F3:CE:EF:6C:D2:C0:A0:F5:83:4D:AB:51:6F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1064480533 1 udp 2113937151 14039863-daaf-4cd1-b192-01da958b563e.local 40471 typ host generation 0 ufrag b5u3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.182037,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5467e30-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","rebac_allow":false,"scope_allow":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":"b5467e30-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5467e30-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling 200 10ms","method":"POST","requestID":"b5467e30-08c9-11f0-a656-5b8621d22e82","responseTime":10,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling"} device-1 | {"content":{"candidate":"candidate:2557580384 1 udp 2113937151 53a6e7b7-dfc8-4405-875b-e5c34c7e734d.local 54065 typ host generation 0 ufrag V+2U network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","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/464c8eeb-f939-4f2c-a1c0-3796add3fc10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"464c8eeb-f939-4f2c-a1c0-3796add3fc10","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb6e2f3f00fb3d82e4119df974e25727","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":"bb6e2f3f00fb3d82e4119df974e25727","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"}}},"level":"info","message":"received a callback","requestID":"bb6e2f3f00fb3d82e4119df974e25727"} device-1 | {"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"bb6e2f3f00fb3d82e4119df974e25727","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb6e2f3f00fb3d82e4119df974e25727"} device-1 | {"device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"464c8eeb-f939-4f2c-a1c0-3796add3fc10","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"464c8eeb-f939-4f2c-a1c0-3796add3fc10","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/464c8eeb-f939-4f2c-a1c0-3796add3fc10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"464c8eeb-f939-4f2c-a1c0-3796add3fc10","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a27d9bb14b6f90851f97acdfcdf3f2c9","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":"a27d9bb14b6f90851f97acdfcdf3f2c9","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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"}}},"level":"info","message":"received a callback","requestID":"a27d9bb14b6f90851f97acdfcdf3f2c9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b555e780-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F464c8eeb-f939-4f2c-a1c0-3796add3fc10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6764fb0a-069f-4fec-b839-b6dc04ebeac7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.228341} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.265179,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b555e780-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","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":"b555e780-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b555e780-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"GET /peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10 200 7ms","method":"GET","requestID":"b555e780-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"a27d9bb14b6f90851f97acdfcdf3f2c9","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"a27d9bb14b6f90851f97acdfcdf3f2c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b558f4c0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80c1e75c-9185-406b-8c9b-6ad6f0f631d7","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.2687688} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.237115,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b558f4c0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","rebac_allow":false,"scope_allow":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":"b558f4c0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b558f4c0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling 200 28ms","method":"POST","requestID":"b558f4c0-08c9-11f0-a656-5b8621d22e82","responseTime":28,"status":200,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E","level":"info","message":"auth send jwt","requestID":"727e0950039f7164ccd8886517945f53"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"727e0950039f7164ccd8886517945f53","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b55d88a0-08c9-11f0-a656-5b8621d22e82"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/df612b90-5cb4-4b6b-a773-6084d976035d","requestID":"727e0950039f7164ccd8886517945f53"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79e79774-7f1b-4fca-90e1-fdef7c96e119","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.2779074} authorization-1 | {"client_addr":"127.0.0.1:58858","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.765786,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233171,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"727e0950039f7164ccd8886517945f53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832287,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"727e0950039f7164ccd8886517945f53","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b55d88a0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","rebac_allow":false,"scope_allow":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":"b55d88a0-08c9-11f0-a656-5b8621d22e82","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b55d88a0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling 200 8ms","method":"POST","requestID":"b55d88a0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/df612b90-5cb4-4b6b-a773-6084d976035d","requestID":"727e0950039f7164ccd8886517945f53"} gateway-1 | {"time_local":"24/Mar/2025:16:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/df612b90-5cb4-4b6b-a773-6084d976035d HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"727e0950039f7164ccd8886517945f53"} experiment-1 | {"level":"info","message":"GET /experiments/df612b90-5cb4-4b6b-a773-6084d976035d 200 9ms","method":"GET","requestID":"727e0950039f7164ccd8886517945f53","responseTime":9,"status":200,"url":"/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E","level":"info","message":"auth send jwt","requestID":"bf69d9f295f1f3a559462876c761e616"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf69d9f295f1f3a559462876c761e616","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/df612b90-5cb4-4b6b-a773-6084d976035d","requestID":"bf69d9f295f1f3a559462876c761e616"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.707283,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"bf69d9f295f1f3a559462876c761e616","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"experiment:http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d","object_type":"experiment","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832287,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bf69d9f295f1f3a559462876c761e616","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Attempting to finish experiment","requestID":"bf69d9f295f1f3a559462876c761e616"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.736998,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"peerconnection:http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832287,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","device":"0abbc74b-1a4f-4837-9ad6-606c3a32db6e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10","device":"7f07905e-135a-4159-8751-1f6a9f8e07cc","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/464c8eeb-f939-4f2c-a1c0-3796add3fc10' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"464c8eeb-f939-4f2c-a1c0-3796add3fc10","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3677280810a81d70a562172fc2720895","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:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e900941-f2b5-4e34-a431-ecb541803b8b","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.3331418} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F464c8eeb-f939-4f2c-a1c0-3796add3fc10': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F464c8eeb-f939-4f2c-a1c0-3796add3fc10","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"5e028159-51eb-4e44-983d-a6c7d6f493aa","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.3335383} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3677280810a81d70a562172fc2720895","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d99880957a21ae44f423d2a937462716","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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"}}},"level":"info","message":"received a callback","requestID":"3677280810a81d70a562172fc2720895"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d99880957a21ae44f423d2a937462716","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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"}}},"level":"info","message":"received a callback","requestID":"d99880957a21ae44f423d2a937462716"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10 204 66ms","method":"DELETE","requestID":"b5648d80-08c9-11f0-a656-5b8621d22e82","responseTime":66,"status":204,"url":"/peerconnections/464c8eeb-f939-4f2c-a1c0-3796add3fc10"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787042,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","payload":{"admin":true,"edgeToken":"E074HtCtDrlvMZw5HMGOR1isYKEcpg8zf-c5cTnRAQ7tolyYfibnGef4PCLjv3upP9WIdsB9ileh2vCGa2vtxg","iat":1742832287,"sub":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de","subject_alt":"http://localhost/users/735bb3de-cf0e-443a-a6e1-c7bd74e754de"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzczNWJiM2RlLWNmMGUtNDQzYS1hNmUxLWM3YmQ3NGU3NTRkZSIsImVkZ2VUb2tlbiI6IkUwNzRIdEN0RHJsdk1adzVITUdPUjFpc1lLRWNwZzh6Zi1jNWNUblJBUTd0b2x5WWZpYm5HZWY0UENManYzdXBQOVdJZHNCOWlsZWgydkNHYTJ2dHhnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MjgzMjI4N30.scCTVl51SaBx6RMvW3PAWZTINVkACqZVS_A3uBMkK_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"33f27b32-13b1-4682-8aa7-e1a097b66ab2","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.3986347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a1e034b-719f-43af-bc57-42b5191efafe","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.3987386} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"DELETE /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc 204 20ms","method":"DELETE","requestID":"b56eedc0-08c9-11f0-a656-5b8621d22e82","responseTime":20,"status":204,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"},"level":"info","message":"Successfully finished experiment","requestID":"bf69d9f295f1f3a559462876c761e616"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5746c00-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f07905e-135a-4159-8751-1f6a9f8e07cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cfbbc80-628f-41e9-99ae-9db6e9dd5c74","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.429658} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445624,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b5746c00-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc","object_type":"device","rebac_allow":false,"scope_allow":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":"b5746c00-08c9-11f0-a656-5b8621d22e82","responseTime":5,"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/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"b5746c00-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/signaling 404 9ms","method":"POST","requestID":"b5746c00-08c9-11f0-a656-5b8621d22e82","responseTime":9,"status":404,"url":"/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc/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":"bf69d9f295f1f3a559462876c761e616"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b57619b0-08c9-11f0-a656-5b8621d22e82"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","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%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf612b90-5cb4-4b6b-a773-6084d976035d': 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:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf612b90-5cb4-4b6b-a773-6084d976035d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F735bb3de-cf0e-443a-a6e1-c7bd74e754de"}]},"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","writes":null},"raw_response":{},"request_id":"48b3d632-f273-43be-8fed-e2bcfdcbfde9","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.437796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"raw_response":{"authorization_model":{"id":"01JQ4E7TN2FWP8Z1TSCMND61AY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"231c9938-aa3f-4999-a686-eab2c412de65","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.4380212} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"bf69d9f295f1f3a559462876c761e616","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44148","raw_request":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","contextual_tuples":null,"store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0abbc74b-1a4f-4837-9ad6-606c3a32db6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed1a1368-def5-4c84-838b-8b0cad0bc440","store_id":"01JQ4E7TJRQ7KWKRJK7QBH5E74","subsystem":"openfga","timestamp":1742832287.4399548} authorization-1 | {"client_addr":"127.0.0.1:50716","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173168,"resp_status":200,"subsystem":"opa","time":"2025-03-24T16:04:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","openfga":{"authorization_model_id":"01JQ4E7TN2FWP8Z1TSCMND61AY","store":"01JQ4E7TJRQ7KWKRJK7QBH5E74"},"requestID":"b57619b0-08c9-11f0-a656-5b8621d22e82","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e","object_type":"device","rebac_allow":false,"scope_allow":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":"b57619b0-08c9-11f0-a656-5b8621d22e82","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b57619b0-08c9-11f0-a656-5b8621d22e82"} device-1 | {"level":"info","message":"POST /devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling 200 8ms","method":"POST","requestID":"b57619b0-08c9-11f0-a656-5b8621d22e82","responseTime":8,"status":200,"url":"/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/df612b90-5cb4-4b6b-a773-6084d976035d","requestID":"bf69d9f295f1f3a559462876c761e616"} gateway-1 | {"time_local":"24/Mar/2025:16:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/df612b90-5cb4-4b6b-a773-6084d976035d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf69d9f295f1f3a559462876c761e616"} experiment-1 | {"level":"info","message":"DELETE /experiments/df612b90-5cb4-4b6b-a773-6084d976035d 204 215ms","method":"DELETE","requestID":"bf69d9f295f1f3a559462876c761e616","responseTime":215,"status":204,"url":"/experiments/df612b90-5cb4-4b6b-a773-6084d976035d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 173ms","method":"POST","requestID":"3677280810a81d70a562172fc2720895","responseTime":173,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.175","http_referrer":"","http_user_agent":"node-fetch","requestID":"3677280810a81d70a562172fc2720895"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 173ms","method":"POST","requestID":"d99880957a21ae44f423d2a937462716","responseTime":173,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04: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.176","http_referrer":"","http_user_agent":"node-fetch","requestID":"d99880957a21ae44f423d2a937462716"} gateway-1 | {"time_local":"24/Mar/2025:16:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"5.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":"0a76b2bb85305a34c755b07cc63e26f1"} gateway-1 | {"time_local":"24/Mar/2025:16:04:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2098","request_time":"3.328","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":"1fd6b721f0dafc08e134f75e0131c1c6"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0abbc74b-1a4f-4837-9ad6-606c3a32db6e' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7f07905e-135a-4159-8751-1f6a9f8e07cc' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8eb784445bbb926bea44552955447992","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":"8eb784445bbb926bea44552955447992","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/7f07905e-135a-4159-8751-1f6a9f8e07cc"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"8eb784445bbb926bea44552955447992"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"8eb784445bbb926bea44552955447992","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Mar/2025:16:04:47 +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":"8eb784445bbb926bea44552955447992"} experiment-1 exited with code 143 authorization-1 exited with code 0 authentication-1 exited with code 143 device-1 exited with code 143 federation-1 exited with code 143 gateway-1 exited with code 0